Skip to content
Artwork for Hacker Public Radio
TechnologyTech NewsEducationExplicit

Hacker Public Radio

Hacker Public Radio

Hacker Public Radio is an podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that are of interest to hackers and hobbyists.

Play
  • 51 episodes
  • daily
  • English
Counted on this page — what you have heard stays on this device, so it is not something the list can be paged by.
  • Yesterday · length unknown

    HPR4745: BruCON interview 1: The BruCON organization

    This show has been flagged as Clean by the host. BruCON: https://brucon.org BruCON is an annual security and hacker conference providing two days of an interesting atmosphere for open discussions of critical infosec issues, privacy, information technology and its cultural/technical implications on society. Organized in Belgium, BruCON offers a high quality line up of speakers, security challenges and interesting workshops. BruCON is a conference by and for the security and hacker community. ​The conference tries to create bridges between the various actors active in computer security world, included but not limited to hackers, security professionals, security communities, non-profit organizations, CERTs, students, law enforcement agencies, etc….. https://www.youtube.com/@brucontalks/videos Provide feedback on this episode.

  • Thursday · length unknown

    HPR4744: HPR Beer Garden 21 - Mild

    This show has been flagged as Clean by the host. In this episode we look at a very old style of beer known as Mild. Paul, in the absence of any locally available Milds has a Guinness, Dave tastes Banks's Mild and Kevie Samples 1950s Burton Ruby Mild . Connect with the guys on Untappd : Dave Paul Kevie The intro sounds for the show are used from: https://freesound.org/people/mixtus/sounds/329806/ https://freesound.org/people/j1987/sounds/123003/ https://freesound.org/people/greatsoundstube/sounds/628437/ The next 3 beer styles to be reviewed: Bitter Pale Ale Trappist Provide feedback on this episode.

  • Wednesday · length unknown

    HPR4743: wl-copy

    This show has been flagged as Clean by the host. wl-copy is a command in the wl-clipboard package, and allows you to copy and paste data from your Linux Terminal on a Wayland desktop. Copy an arbitrary string to your clipboard using wl-copy: $ wl-copy "hello world" Paste it anywhere on your system as usual (with Ctrl+Shift+V or a right-click and Paste). You can copy from output, too: $ echo "hello wide world" | wl-copy You can redirect to wl-copy: $ echo "hello world" > example.txt $ wl-copy < example.txt You can use wl-paste to paste from your system clipboard: $ wl-paste "hello world" Provide feedback on this episode.

  • Tuesday · length unknown

    HPR4742: OLF Call for presentations open

    This show has been flagged as Clean by the host. OLF Conference The Conference the artist previously known as the Ohio Linux Festival, is returning to it's 2003 beginnings on the campus of Dreese Laboratories at Ohio State University Starting at noon on Friday Nov 20 and running all day Saturday 21 Nov 2026, during this event, Open Source projects, developers and visitors can exchange ideas and knowledge. Interviewees HPR is no stranger to OLF , and we interview the team as a call for presentations is now open. Vance has been using Linux since 1997 and was active in the Western Pennsylvania Linux Users Group from 2003 to 2017. In addition to general desktop use, he has an interest in system and network administration. Vance currently lives in Pittsburgh and works in quality assurance for safety equipment. Vance first began volunteering with Ohio LinuxFest in 2006. He worked on producing audio recordings of sessions starting in 2009, served as Speaker Chair for the 2014 through 2017 conferences, and was Birds of a Feather Chair from 2018 to 2020. He took on the Conference Chair role from 2021 through 2023, then returned as Speaker Chair starting in 2024. Email Beth Lynn currently lives in Pittsburgh and works as Senior System Engineer. She has over twenty years experience in managing, building and collaborating with teams within Free Software Expertise in GNU/Linux distributions such as Red Hat Enterprise Linux, Fedora, Ubuntu, and SUSE. From 2002 to 2011 Beth Lynn led the Western PA Linux Users Group, which began at Carnegie Mellon University. Beth Lynn first came to OLF as an attendee in 2003. She immediately signed up to help at future conferences. When a mix up occurred in the venue early in the OLF history, Beth contacted Jon “maddog” Hall and others for help, which saved that year’s conference (close to the date of the event). Due to her longevity with OLF over the years she has been a speaker, conference chairperson, and fundraiser. When the original conference chairpersons retired from leadership roles, Beth Lynn stepped up to keep the conference running smoothly as the Director. In 2007 Beth applied and defended 501(c)(3) non-profit status for the organization. Beth Lynn Eicher is passionate about the ideals of FOSS and in growing community across the country and world in this movement. She attends other Linux- FOSS conferences and is well known across the country. In 2013 she was asked to speak at the Free Software Foundation Conference held at Harvard University on the topic of “Closing the Digital Divide”. There she reported on the successful deployment of 100 Edubuntu PCs to schools in Ghana, Africa that served mostly orphaned children. Beth Lynn went to Ghana with a team from Computereach, training in networking, pc repair, the GNU/Linux command-line, and the Edubuntu desktop environment. Email Links Main web site: https://olfconference.org/ News page (announcements): https://olfconference.org/news/ RSS Feed of news: https://olfconference.org/feed/ CFP: https://olfconference.org/call-for-presentations/ YouTube channel: https://www.youtube.com/@OLFConference Livestream videos: https://www.youtube.com/@OLFConference/streams Edited videos: https://www.youtube.com/@OLFConference/videos Facebook: https://www.facebook.com/ohiolinux/ LinkedIn: https://www.linkedin.com/groups/1828509 X/Twitter: https://x.com/ohiolinux Matrix (unofficial): https://matrix.to/#/#olf:matrix.org Mailing list (announcements only): https://lists.ohiolinux.org/mailman/listinfo/olf-attendees https://hackerpublicradio.org/correspondents/0459.html https://www.osu.edu/ FreedomBox hpr4256 :: Birds of a Feather Talk at OLF 2024 Travel Times Country Typical Travel Method Example Destination Approx Duration Typical Budget Cost (One Way) USACarCincinnati, Ohio1h 40m–2h 10m$20–40 USABusCincinnati, Ohio2h–3h$20–45 USATrainCincinnati, Ohio2h–3h$25–60 USAAeroplaneChicago, Illinois1h 10m flight$70–180 USACarCleveland, Ohio2h–2h 45m$25–50 USABusCleveland, Ohio2h 45m–4h$25–55 USATrainCleveland, Ohio2h 30m–4h$25–70 USAAeroplaneDetroit, Michigan1h flight$70–180 USACarDayton, Ohio1h 15m–2h$15–30 USABusDayton, Ohio1h 30m–2h 30m$15–35 USATrainToledo, Ohio2h 30m–3h 30m$25–60 USAAeroplanePittsburgh, Pennsylvania1h flight$70–180 USACarPittsburgh, Pennsylvania3h–3h 30m$35–65 USABusPittsburgh, Pennsylvania3h 30m–5h$25–60 USATrainPittsburgh, Pennsylvania3h 30m–5h$30–70 USACarIndianapolis, Indiana2h 45m–3h 15m$30–55 USABusIndianapolis, Indiana3h 30m–5h$30–65 USATrainIndianapolis, Indiana4h+$40–80 USAAeroplaneIndianapolis, Indiana~1h flight$70–180 USACarFort Wayne, Indiana2h 30m–3h$30–50 USABusFort Wayne, Indiana3h 30m–5h$25–60 USACarErie, Pennsylvania2h 30m–3h$25–50 USABusErie, Pennsylvania3h 30m–5h$25–60 USATrainErie, Pennsylvania3h–4h 30m$25–65 USACarCharleston, West Virginia2h 45m–3h$30–55 USABusCharleston, West Virginia4h–5h 30m$30–70 USACarLouisville, Kentucky3h–3h 30m$35–60 USABusLouisville, Kentucky4h–5h 30m$30–70 USAAeroplaneLouisville, Kentucky~1h flight$70–180 CanadaCarWindsor, Ontario3h–3h 30m$35–65 CanadaBusWindsor, Ontario4h–6h$40–80 CanadaAeroplaneToronto, Ontario~1h 15m flight$100–250 Provide feedback on this episode.

  • Monday · length unknown

    HPR4741: HPR Community News for September 2026

    This show has been flagged as Explicit by the host. New hosts Welcome to our new hosts: Trurl Last Month's Shows Id Day Date Title Host 4717 Tue 2026-09-01 Visit with a blind Ham operator Archer72 4718 Wed 2026-09-02 Programmable Logic Controls - Episode 2 Whiskeyjack 4719 Thu 2026-09-03 How to use a multimeter, introduction and basic usage number9 4720 Fri 2026-09-04 Robert A. Heinlein: Earlier Novels Ahuka 4721 Mon 2026-09-07 HPR Community News for August 2026 HPR Volunteers 4722 Tue 2026-09-08 Show and tell: AI tropes Trollercoaster 4723 Wed 2026-09-09 friedcamp interviews part 3: The fried telephone system Kristoff 4724 Thu 2026-09-10 HPR Beer Garden 19 - Lager Kevie 4725 Fri 2026-09-11 HPR Beer Garden - Tasting and reviewing beers Kevie 4726 Mon 2026-09-14 Trurl's intro show Trurl 4727 Tue 2026-09-15 friedcamp interviews part 4: The free Lantern Kristoff 4728 Wed 2026-09-16 Programmable Logic Controls - Episode 3 Whiskeyjack 4729 Thu 2026-09-17 Living under a rock MrX 4730 Fri 2026-09-18 Playing Civilization VI Part 1 Ahuka 4731 Mon 2026-09-21 A Website Hacked Lee 4732 Tue 2026-09-22 Webp Klaatu 4733 Wed 2026-09-23 Static Adict Episode 1: Pulse Demon TheDUDE 4734 Thu 2026-09-24 HPR Beer Garden 20 - TuxJam Half-cut Special Kevie 4735 Fri 2026-09-25 hpr4715 :: friedcamp interviews part 5: Yvon Masyn Kristoff 4736 Mon 2026-09-28 How to replace the battery in a car key fob Ken Fallon 4737 Tue 2026-09-29 Keep spare parts for Ethernet run Archer72 4738 Wed 2026-09-30 Programmable Logic Controls - Episode 4 Whiskeyjack Comments this month Past shows hpr4673 (2026-07-01) "First contact conversation" by Archer72. Dave Lee (thelovebug) said: "Baofeng naming conventions" (2026-09-16 07:07:02) hpr4677 (2026-07-07) "UNIX Curio #10 - Checksums and Hashes" by Vance. Cli said: "Systemd Topics" (2026-09-13 05:19:58) hpr4702 (2026-08-11) "MakeACopy is an open-source document scanner app for Android" by Ken Fallon. Archer72 said: "What's not to like? " (2026-09-09 21:55:48) hpr4709 (2026-08-20) "Peertube: my two penneth" by Kevie. Kevie said: "links" (2026-09-08 08:15:24) This month's shows hpr4718 (2026-09-02) "Programmable Logic Controls - Episode 2 " by Whiskeyjack. Trey said: "OpenPLC" (2026-09-02 22:40:23) Whiskeyjack said: "Reply to Trey on OpenPLC" (2026-09-03 16:05:35) hpr4719 (2026-09-03) "How to use a multimeter, introduction and basic usage" by number9. Ken Fallon said: "Thanks !" (2026-09-03 07:43:52) Archer72 said: "Thanks! Quite interesting!" (2026-09-03 09:49:32) Trey said: "Excellent episode" (2026-09-03 12:52:57) xmanmonk said: "Great show!" (2026-09-03 19:14:51) Whiskeyjack said: "Fluke Meters" (2026-09-03 22:39:30) brian-in-ohio said: "welcome" (2026-09-06 12:54:51) Kevin O'Brien said: "Endorsing comment" (2026-09-06 14:25:11) Jim DeVore said: "I learned a few things!" (2026-09-07 21:15:48) hpr4721 (2026-09-07) "HPR Community News for August 2026" by HPR Volunteers. Th3Dud3 said: "Sorry for getting your name wrong Kevie" (2026-09-09 16:27:10) hpr4722 (2026-09-08) "Show and tell: AI tropes" by Trollercoaster. Trey said: "This is so true" (2026-09-08 10:57:10) Steve Barnes said: "Re: This is so true" (2026-09-08 20:13:53) Ben said: "Great text" (2026-09-10 21:08:25) Antoine said: "AI writes very well" (2026-09-11 00:11:36) Trollercoaster said: "Re: This is so true" (2026-09-12 08:10:11) Trollercoaster said: "Re: Great Text" (2026-09-12 08:25:13) Trollercoaster said: "Re: AI writes very well" (2026-09-12 22:45:17) Antoine said: "Re #7 - Brazilian ... logic?" (2026-09-13 15:09:10) candycanearter07 said: "cool ep" (2026-09-13 20:05:22) Trollercoaster said: "Re: cool ep" (2026-09-15 17:50:02) hpr4723 (2026-09-09) "friedcamp interviews part 3: The fried telephone system" by Kristoff. Cli said: "Background noise." (2026-09-13 05:22:10) Whiskeyjack said: "Dial telephones" (2026-09-26 21:15:53) hpr4724 (2026-09-10) "HPR Beer Garden 19 - Lager" by Kevie. Gan Ainm said: "Märzen" (2026-09-14 15:32:33) Th3Dud3 said: "The reason why the USA uses Adjuncts in our Lager" (2026-09-14 18:07:03) hpr4726 (2026-09-14) "Trurl's intro show" by Trurl. candycanearter07 said: "hello!" (2026-09-15 23:22:59) hpr4732 (2026-09-22) "Webp" by Klaatu. Henrik Hemrin said: "Now I will consider webp as an alternative." (2026-09-26 17:16:21) hpr4733 (2026-09-23) "Static Adict Episode 1: Pulse Demon" by TheDUDE. brian-in-ohio said: "good show" (2026-09-23 14:44:12) Antoine said: "Never listened about" (2026-09-23 22:41:53) hpr4736 (2026-09-28) "How to replace the battery in a car key fob" by Ken Fallon. Lee said: "Replacing battery" (2026-09-29 20:24:03) Mailing List discussions Policy decisions surrounding HPR are taken by the community as a whole. This discussion takes place on the Mailing List which is open to all HPR listeners and contributors. The discussions are open and available on the HPR server under Mailman. The threaded discussions this month can be found here: https://lists.hackerpublicradio.com/pipermail/hpr/2026-September/thread.html Events Calendar With the kind permission of LWN.net we are linking to The LWN.net Community Calendar. Quoting the site: This is the LWN.net community event calendar, where we track events of interest to people using and developing Linux and free software. Clicking on individual events will take you to the appropriate web page. Provide feedback on this episode.

  • October 2 · length unknown

    HPR4740: Robert A. Heinlein in the 1960s

    This show has been flagged as Clean by the host. The 1960s were when Heinlein produced some of his most famous works. And they started to bring him fame outside the Science Fiction community, which was most unusual. Heinlein in the 1960s Heinlein had interests that he tended to keep hidden in the early years while he was establishing himself as a writer, particularly as he was feeding the lucrative Juvenile market. These included things like sex, nudism, and unusual political and religious views. But when Scribners rejected Starship Troopers he not only abandoned writing Juveniles, but decided he could be a lot more open about his views. And this resulted in his most famous novel. This is the one novel that people who are not science fiction fans are likely to have read, particularly in the 1960s. Stranger In A Strange Land (1961) This novel won just about every award possible: Hugo, Locus, Prometheus. It was the first science fiction novel to crack the New York Times Best Seller list. And the Library of Congress named it as one of 88 “books that shaped America”. And it even introduced a new word to the English language: grok. The stranger in the title is Valentine Michael Smith, an infant born to one of the astronauts, and then raised by Martians. He is brought back to Earth by a later mission, and his adventures in this strange land are what the book is mostly about. But in so doing, Heinlein writes a satire on religion and also espouses very different approach to love and sexuality than was considered proper at the time. And this attracted the hippies of the 1960s, for whom it became a Bible, much to the annoyance of Heinlein who did not appreciate them knocking on his door. The book had the original title of “The Heretic”, and was intended to challenge social norms about religion and monogamy. Heinlein’s own take on the reaction to the novel was that he was surprised that some readers thought the book described how he believed society should be organized, explaining: “I was not giving answers. I was trying to shake the reader loose from some preconceptions and induce him to think for himself, along new and fresh lines. In consequence, each reader gets something different out of that book because he himself supplies the answers … It is an invitation to think – not to believe.” The book also exemplifies the characters that Heinlein managed to put into most of his stories. Michael is the naive young man who needs to learn better, and Jubal Harshaw is the wise old man who becomes his mentor. Podkayne of Mars (1963) The heroine of this book, Podkayne, is a teenage girl who is invited along with her younger brother on a luxury cruise with their uncle Tom from their home on Mars to go to Earth. We learn along the way that Mars was once a prison colony (echoing Australia), and that Podkayne’s family are of Maori ancestry. In the United States, at least, this would count as “colored”, and reflects Heinlein’s subversion of racist ideas in his works. Much of the travelogue on the luxury liner reflects Heinlein’s own experiences as depicted in his non-fiction book Tramp Royale which covers his own world cruise. But old uncle Tom is actually a diplomat using the kids as cover, and they get kidnapped by people who want him to take a certain position at talks to held at Luna. Podkayne’s brother Clarke is portrayed as a genius but lacking certain qualities of empathy, and in the end he manages to get her killed. The publisher rejected this ending an insisted on one where she lived. Later Heinlein published a version with both endings and invited people to vote on which one they preferred, and the one where she died won. Heinlein’s own objection was that it was like changing the ending to Romeo and Juliet into one where they both lived happily ever after. Since then the book has been published with Heinlein’s preferred ending. Orphans of the Sky (1963) This is basically a couple of novellas from 1941put together as a complete novel. The first novella, Universe, was recognized by the Science Fiction Writers of America by including it in their volume The Science Fiction Hall of Fame, Volume Two. This is a story about a generation ship, i.e. a ship that will take generations to arrive due the speed of light limit. In this case, the people who understood what this was all about are long dead, and we learn that at one point there was a mutiny and the the ship’s officers were killed. In Universe, the descendants of the remaining people think the ship is all there is, it is the Universe to them. In the second novella, Common Sense, a few people find some of the old records and work out what the situation is. Then, seeing a star growing larger ahead of them, they take a life boat and land on a habitable moon of a giant planet. This is part of the Future History, as Rhysling and his “Green Hills of Earth” are brought up, and it is also referred to in Time Enough For Love, where it is revealed that this ship is the sister ship to the one the Howard Families stole in Methusaleh’s Children. But being that this is from 1941 it does not show the polish and mastery of Heinlein’s other work of the 1960s. Glory Road (1963) Some stories make you wonder if they are Fantasy or if they are Science Fiction, and this is one of them. Of course, Heinlein would just call it Speculative Fiction and not worry about it. A former soldier has just been discharged from a war in Southeast Asia. The country is not mentioned, but this is 1963 and Vietnam was just bubbling up into people’s consciousness. With nothing to do, he meets up with a gorgeous woman who invites him on a quest. This takes them to other worlds and involves a certain amount of swordplay, culminating in a sword fight against Cyrano de Bergerac. The woman turns out to be the Empress of many worlds, and the quest was to retrieve the Egg of the Phoenix, a cybernetic device containing the memories and personalities of most of her predecessors, and now she has to absorb all of this, which is fine for her but leaves or hero pretty useless. Finally he goes looking for another quest. This is a really good novel, and was nominated for the Hugo, but it lost out to Clifford Simak’s Way Station. We should probably discuss Simak at some point, he was an important writer with a distinct style. Farnhams’ Freehold (1964) This novel attempts to be satire on race relations, but is in my view a failure. A nuclear war happens, and a group of people in a fallout shelter find that they have been transported into the future (or is it an alternative universe?). The war pretty much destroyed the societies of the northern hemisphere, leaving things open for the Africans and other southerners to become dominant. And of course the blacks enslave the whites and re-enact the worst excesses of the ante-bellum American South. When I am in the mood to go back and re-read some Heinlein, this is not one I pick. The Moon Is A Harsh Mistress (1966) This is one of Heinlein’s best novels, set on a lunar colony. The moon has been used as a penal colony, but of course most of the people there now are descendants of the people originally exiled there. The Warden runs things, but as long as the grain shipments are on schedule he doesn’t bother much with the affairs of the “Loonies”. The background here is fascinating, describing a nearly anarchic society. Men out number women two to one, leading to some interesting marriage customs, including something called “line marriage” which is a type of group marriage. The wise old man role is played by Professor Bernardo de la Paz (Prof), while the young man he mentors is Manuel O’Kelly-Davis (Mannie). Mannie is computer technician who discovers the big mainframe computer that runs everything has become sentient. And since the computer has the acronym HOLMES, he names it Mycroft Holmes (Mike), for Sherlock’s smarter brother. They all become involved in a revolution against the Earth government, which in theory is led by Prof, but in fact is led by Mike. Since he is a computer, and keeps his sentience a secret, he creates a persona of Adam Selene to be the figurehead I said that the background of this lunar colony is fascinating in itself, but the book is also a discourse on the nature of government, libertarianism, and what it means to be free. That was something Heinlein was prone to do, and it did not always work well. In some of his last works he tended to pontificate in a way that left the story behind, but in this novel the story is interesting all the way through. This the novel that popularized the acronym TANSTAAFL, which means There Ain’t No Such Thing As A Free Lunch, and which is the motto of the Loonies. Hazel Stone, of The Rolling Stones, appears here as a 12-year-old girl involved in the revolution, and both she and Mike also appear in later works of Heinlein. I recommend this book highly. This novel won the Hugo award (by the fans), was nominated for the Nebula Award (by the writers), was named one of the Top 10 novels in the Locus poll, and won the Prometheus Hall of Fame Award. Links https://en.wikipedia.org/wiki/Stranger_in_a_Strange_Land https://en.wikipedia.org/wiki/Podkayne_of_Mars https://en.wikipedia.org/wiki/Orphans_of_the_Sky https://en.wikipedia.org/wiki/Glory_Road https://en.wikipedia.org/wiki/Farnham%27s_Freehold https://en.wikipedia.org/wiki/The_Moon_Is_a_Harsh_Mistress https://www.palain.com/science-fiction/the-golden-age/robert-a-heinlein/heinlein-in-the-1960s/ Provide feedback on this episode.

  • October 1 · length unknown

    HPR4739: Happy by shower # 3

    This show has been flagged as Explicit by the host. We focused, until now, on things external as examples. Let’s proceed to internal. Before, I want to note that any of these is a formula. It’s not like we can repeat a past experience we ourselves or someone lived, and feel the same thing. It’s not a guarantee, and not even the idea in sharing. It’s only this: to share and to provoke reflection. I was abused as a child. Hard as it is, and unerasarable, also hard was to tell someone important and do not be trusted. Child abuse is associated with multiple disorders further in life. Remembering what I passed is a relief in what gives respect to where I am now. Not to authorize me to feel anger, or as a free pass to throw everything to the air without feeling guilty — that would make something, but not good after all —, but to recognize better what is real and what is important now, and that’s much more relevant, and influential to my being in the world, than that past experience. Coincidences sometimes make me “wow”. When I ask, and even when I don’t directly ask, specific direction in choices, or in what to trust, it’s not rare to receive something that I see as very clear. Even when it comes as a reproach, remembering me about what I should and could be doing, but am not because of many excuses, even then, I’m still impressed, and feeling loved, because someone cares specifically – about – me . In general, remembering something that gave me a bad taste when thinking about before, and then, as of now, feeling differently about that event, gives me a sense of maturity. Like, what a child I was to pay so much attention to this, or to that, and now those things, unimportant as they are, don’t matter any more. I find myself trying to remember a word, or a concept or memorized Bible verse. Sometimes I forget, and then I go to a chain of thoughts about and end up remembering, or forget about and it comes to mind minutes or hours later. Those are “aha!” moments, as discovering something, very beautiful, for the first time. Some people have a wrong notion of memory, as if it was created once and evoked latter. No, every moment one evokes a piece of information, he is reworking that piece, and every experience after the creation of the memory potentially affects that bit of information we call a part of the memory. It’s not static, it’s dynamic. And so it’s not objective, is it? Yeah, that’s it. Thank you and bye bye. Provide feedback on this episode.

  • September 30 · length unknown

    HPR4738: Programmable Logic Controls - Episode 4

    This show has been flagged as Clean by the host. -------------------- 01 Introduction This is the fourth episode in an 8 part series. 02 In the previous episode we looked at the Allen Bradley PLC2, one of the very early successful Programmable Logic Controllers. In this episode we will look at another early PLC, the Siemens S5 series, and use it as an example of both how PLCs became more sophisticated, as well as an example of a different approach to the overall software architecture. Again, I will only touch on this topic lightly, this is not a course on how to program PLCs. However, I will give you enough technical detail to give you are rough idea of what they were like. -------------------- 03 S5 Historical Background Siemens are the largest PLC vendor on a global basis, and have been since the early days. Their first PLC was the S3, released in 1975, two years before Allen Bradley released the PLC2. There seems to be almost no information available on the S3, so I can't say much about it. In 1978 or 1979, sources are unclear about the exact date, Siemens released the S5 series. This was a huge step forward in capability and was the foundation of their PLC product line until replaced by the S7 series in the mid 1990s. In this episode I will focus on the U series, which were an upgrade to the original S5. -------------------- 04 A Complete Family of PLCs Fully developed, the Siemens S5 series was a complete family of products covering the entire size spectrum from smallest to largest. Siemens covered the entire industrial control market, and there was almost nothing they didn't have somewhere in their catalogue. You could spend an entire career using nothing but Siemens products for everything. 05 At the lowest end were the S5-100 series, consisting of the S5-100, 102, 103, 90, and 95. These covered everything from the small "shoebox" all in one form factor to ones which overlapped the mid range in terms of capability except for their compact I/O cards which were smaller and slower than the full size models. The S5-115 formed the mid range, coming in a "full size" form factor in terms of packaging and rack size. The S5-135 and S5-155 extended the S5-115 in terms of speed and memory. 06 In this episode I will focus on the lower end S5-100 series for the sake of simplicity, and will not make any reference to any additional capabilities of the larger models. It will be much too time consuming and confusing to try to cover everything, and there wouldn't be much point to it. -------------------- 07 Data Memory Types If you recall the previous episode, the Allen Bradley PLC2 had a data table, or memory system, that was a single linear range of memory with all I/O and internal capabilities mapped into fixed numerical addresses. Allen Bradley were to abandon this approach in their later PLC5 series introduced in the mid to late 1980s, but we won't cover that here. The Siemens S5 series however took the approach of having different types of memory addresses for different purposes. I will describe those for the S5-100 series now. 08 Input and Output Addresses The standard I/O modules for these compact PLCs had 8 inputs or 8 outputs per I/O module. These module plugged into a flat bus (as opposed to an enclosed rack) with slots numbered from 0 through 31 in decimal. Each of these slots had an associated byte number, and each I/O point on the individual modules had a bit number. 09 Input and output addresses had the following format. Letter , number, decimal point, number. The letter was either I or Q. I indicated inputs. Q indicated outputs. The first number was the byte number, which corresponded to the physical I/O module slot. The second number was the bit number within the byte, starting from zero. 10 So "I2.3" indicated an input module located in the third slot (numbered from zero) and addressed the fourth input (numbered from zero) on that module. Outputs worked the same way. For example "Q 5.1" 11 Analogue modules could be located slots 0 through 7. Analogue if you recall, refers to voltages which have varying levels rather than just on or off, and can represent things like temperature. Each analogue module was assigned 8 bytes per slot, starting at address 64 and going up to 127. In practice many of these so called "analogue" modules had nothing to do with actual analogue voltages, but rather any advanced module which needed more address space was used here. Even later high density digital I/O used these addresses. 12 Each of these addresses could be addressed as bytes or words. In this case input bytes were indicated by an "IB" prefix, and input words were indicated by a "IW" prefix. Output bytes used a "QB" prefix and output words used a "QW" prefix. 13 Flags Flags are individual bits of internal memory that are used for storing intermediate logic values. These began with an "F" prefix. An S5-103 had a total of 2048, numbered from F0.0 to F255.7. 14 Counters Counters started with a "C" prefix. An S5-103 had 128 of these numbered from C0 to C127. 15 Timers Timers started with a "T" prefix. An S5-103 had 128 of these numbered from T0 to T127. 16 Data Blocks Programs needing to deal with byte and word memory could create what were known as "Data Blocks". These were blocks of PLC memory that could be created as the discretion of the programmer. An S5-103 could have a maximum of 254 data blocks numbered from DB2 to DB255. Two additional data blocks were reserved for the PLC's internal operations. Data blocks could contain up to 255 16 bit words. 17 However, the actual number and size of data blocks would in practice be limited by available memory. Even 20 kilo bytes was considered to be a large memory, and this had to be shared with the program. A data block would be "called" to make it the current data block. Then individual words would be addressed with the "DW" prefix. For example "DW5". -------------------- 18 Program Blocks If you recall with the PLC2, there was a "main" program and a series of optional numbered subroutines. In the S5, programs were split into "blocks". These were Organization Blocks Program Blocks Function Blocks Sequence Blocks An S5-103 could have up to 256 of each of these blocks. 19 Organization Blocks When the PLC started up, it would look for Organization Block 1 and begin execution there. You could consider this to be the equivalent of the "main" function in a C program. Organization blocks had an OB prefix. For example OB1. With a very simple program in a very small S5 PLC, all of the program logic could be simply put in OB1. However, with larger programs , it was convention to put the logic in subroutines and simply have OB1 call each subroutine. 20 Program Blocks These had a PB prefix. For example PB10. Normal ladder logic style programming would go in these. It was convention to split up a program into pieces and put piece in its own program block. Normal practice was to have a program block correspond to a particular part of the machine. 21 Function Blocks These had an FB prefix. For example FB64. Function blocks differed from program blocks in that they could take parameters. This allowed you to write an FB that performed some sort of complex data transforms and re-use it by calling it with different parameters. Some instructions could only be used in FBs, not in other types of blocks. There were also built in FBs in some CPU models which performed certain operations such as converting BCD (or Binary Coded Decimal) to normal integer. 22 Sequence Blocks These has an SB prefix. For example, SB25. These were like PBs, but were intended for controlling sequences of operations where each SB performed as single step of the sequence and multiple blocks were used for a sequence. -------------------- 23 Programming Languages The S5 series offered four different programming languages. These were Ladder (abbreviated as LAD) Statement List (abbreviated as STL) Control System Flowchart (abbreviated as SCF) GRAPH 5 24 You should be familiar with ladder if you listened to previous episodes. Briefly however, it is a graphical programming language which followed the appearance of electrical ladder wiring diagrams which were familiar to engineers, technicians and electricians working with manufacturing equipment. 25 Statement List is a text based programming language which resembles an assembly language for an abstract processor architecture. Boolean logic results were calculated and saved on a stack, while integer values were operated on directly from memory or in two accumulators, ACCU1 and ACCU 2. 26 Control System Flowchart is a graphical language that takes the form of rectangular blocks with one or more inputs and an output. These blocks are laid out on a screen and then wired together rather like logic gates in a electronic schematic. 27 GRAPH 5 is Siemens' implementation of the GRAFCET (Graphe Fonctionnel de Commande Étapes Transitions) IEC 60848 flow chart standard. The IEC are the International Electrotechnical Commission, an international standards organization. 28 I will focus on Ladder and Statement List, as these were by far the most commonly used and we have limited time to discuss the S5. -------------------- 29 Statement List As mentioned above, Statement List can be thought of as the assembly language for an abstract CPU architecture. The firmware in the S5 PLC will run the instructions in an interpreter. 30 The RLO Boolean or bit oriented instructions operate on a logic stack known as the RLO, or Result of Logic Operation. Boolean operations typically take one operand. When a boolean operation is executed, if the RLO is empty it simply loads the operand onto the RLO. If the RLO is not empty, then the instruction is executed using the operand and the RLO, and the result replaces the value on the top of the RLO stack. Some boolean instructions do not take an operand, but rather work on the two topmost values on the RLO. If you are familiar with languages such as FORTH, this should sound very familiar. 31 The Accumulators Word oriented instructions work on two accumulators, ACCU 1 and ACCU 2. A load instruction will load a word or byte value from a memory location or a constant into ACCU 1. The value that was in ACCU 1 then gets shifted into ACCU 2. A transfer instruction will write the value in ACCU 1 to memory. The remaining word oriented instructions will operate on the values in ACCU 1 and ACCU 2, and place their result in ACCU 1, overwriting the existing contents. So for example, an add instruction will add the value in ACCU 2 to the value in ACCU 1, leaving the sum in ACCU 1. 32 Ladder As mentioned above, ladder is a graphical programming language which has the appearance of an electrical control ladder diagram as used with actual relays. The is by far the most common programming language used with PLCs. A ladder program however is just another way of presenting statement list. 33 To put it another way, a statement list program can be displayed on a computer screen as either lines of text, or a graphical symbols laid out in a meaningful pattern. All valid ladder programs can be represented as statement list. However, not all valid statement list sequences can be represented as ladder. Statement list is inherently more flexible than ladder, which means that you simply can't always translate both ways fully. 34 None the less, most typical control logic can be represented as ladder, and ladder is the preferred representation as it is quicker to understand at a glance when debugging a software or hardware problem. On the other hand, some statement list instructions have no ladder equivalent, or the algorithm may not lend itself to being represented in ladder. In these cases normal practice is to put the simple control logic in ladder in Program Blocks, and put the non-translatable statement list logic in Function Blocks. 35 Control System Flowchart and GRAPH 5 Like ladder, CSF and GRAPH 5 are actually implemented in statement list, and many of the considerations mentioned above apply to those as well. However, I won't go into any further detail on these here. -------------------- 36 Programming Software and Hardware There were two ways of entering a program into an S5 PLC. One way was the hand held programming terminal. The other was via the STEP 5 programming software. 37 Hand Held Terminal Like many if not most PLC vendors, Siemens sold a hand held programming terminal. There were a series of these, an example being the PG 605. This was a box like a large calculator which had buttons and a small display. The buttons corresponded to various instructions and a numeric keypad, and the display would show the current instruction being entered. To use it you would plug a cable attached to the hand held terminal into the programming port on the front of the PLC CPU module. You could then enter or view the program, one instruction at a time. 38 STEP 5 Programming Software The other way of programming was to use software running on a PC. Siemens called their software STEP 5. This was an integrated editing and debugging program. Originally it ran on CP/M. 39 Siemens sold their own portable PCs with the software preloaded, and with additional built in hardware features such as an EPROM burner. These computers were also known as "PGs". STEP 5 was later ported to MS-DOS by running it on a CP/M emulator which people would use to run it on an off the shelf PC such as a laptop. Later still a native MS-DOS port was produced. 40 This had modes for Statement List. Ladder, and Control System Flowchart. GRAPH 5 was a separate program. You could toggle between STL, LAD, and CSF modes, and if the software could translate what was there form one mode to another, it would. 41 The PC would be connected to the PLC by a cable which had an interface box in the middle. This could be used to download a program to the PLC, upload a program to take a backup, modify a running program, or debug a running program. -------------------- 42 Instructions I won't list all the instructions, as that would take too long. I will instead give a brief overview of them. I will deliberately skip over obscure instructions that would take too long to explain. 43 Basic Operations Boolean Operations There is a full set of boolean operations including and, and not, or, or not, set, reset, and assign. The assign operation would assign the RLO value to the address of the specified operand. 44 Load and Transfer The Load instruction would load the value of a memory address word or byte or a constant into accumulator 1. There are about 2 dozen variations on the load instruction. The transfer operation would write a word or byte from accumulator 1 into memory. There are about a dozen variations of the transfer operation. 45 Timers and Counters There are 5 different types of timers. Timers take the value in accumulator 1 as their preset when started. There are up counters and down counters, which count up and down respectively. Again, these take the value in accumulator 1 as the preset. 46 Arithmetic Operations The only native arithmetic operations in the S5-100U series are addition and subtraction. These add or subtract the values in accumulator 1 and 2. Another set of add instructions allows adding a constant. However, the 103 and 95 CPUs offered integer multiple and divide as integrated function blocks, FB242 and FB243. You would call these function blocks with the desired parameters and they would return their results in other parameters. 47 Comparison Operations There are a complete set of integer comparison operations which operate on the values in the two accumulators. These include greater than, greater than or equal to, etc. The boolean result is saved on the RLO. 48 Block Call and Return There is a complete set of unconditional and conditional call operations to call all of the various types of blocks. There are also unconditional and conditional return operations. Calling a data block makes it the current data block, for load and transfer operations on data words 49 NOP or No Op As implied these instructions have no result. 50 Stop This stops the program executing 51 Binary Word Operations These operate on words in the accumulators. These include AND, OR, XOR, Shift Left, and Shift Right. 52 Bit Operations These test, set, or reset individual bits in data words or in timers and counters. 53 Conversion Instructions There are instructions to perform one's complement or two's complement of the value in accumulator 1. 54 Jump Operations There are unconditional and conditional operations to jump forward or back to a label. This is equivalent to a GOTO operation. 55 Indirect Addressing or "DO" operations These instructions allow jumping to a block or selecting a data word or flag word according to a number stored in another address. Essentially, these instructions are like pointers. 56 Miscellaneous There are also various other instructions that do things like copy blocks of words, or swap the contents of the accumulators, 57 Other Instructions There are still more instructions which I have skipped over as it would take too much time to explain them. 58 Instruction Summary As you can see the S5 PLC offers a very comprehensive set of operations which go well beyond what most people would think of as what a PLC does. This is a very powerful instruction set. 59 On the one hand this is a good thing, as you can do nearly anything. On the other hand, this is a bad thing, as some people take this as license to do nearly anything. In the hands of the wrong person, this results in a complex mass of spaghetti code that not even the person who wrote it can figure out later. 60 This goes against the philosophy of PLC programming, which is to make things as simple and obvious as possible. With a PLC program, perfection is achieved not when it has as many advanced features as possible, but rather when it is not possible to make it any simpler. 61 While Siemens gave the programmer a range of powerful low level instructions from which he could construct nearly anything, many other vendors took a different approach. They instead studied what was needed in major market segments and provided the programmer with instructions that operated at a higher level of abstraction, allowing programs to be written in less time and with fewer instructions. -------------------- 62 Execution Speed Execution speed of instructions varied depending on the PLC CPU model. Here are some typical values for the low end S5-100 series CPUs. 63 A boolean AND instruction executed in 70 microseconds on a S5-100U, or in 4 microseconds on an S5-102U, or in 1.6 microseconds on an S5-103U. 64 Adding two words in the accumulators executed in 55 microseconds on a S5-100U, or in 23 microseconds on an S5-102U, or in 1.6 microseconds on an S5-103U. 65 The S5-103U had a custom logic coprocessor chip, known as the M5. Instructions that were executed on the M5 coprocessor tended to take a uniform 1.6 microseconds. However, complex instructions that were not executed on the M5 coprocessor were often slower than on CPUs that didn't have a coprocessor, such as the 100 or 102. I suspect this is due to some sort of overhead relating to coordination of the two processors. 66 However, most instructions in a normal program are boolean logic, so very fast boolean execution time is what matters. Since every instruction is executed every scan cycle, large programs require faster instruction execution in order to keep up with demand. -------------------- 67 The S7 Series Replaces the S5 In the mid 1990s, Siemens began introducing the S7 series which would ultimately replace the S5, although that took a number of years to happen. 68 The hardware was all new, but from a programmer's perspective, the S7 was an evolution of the S5. Some statement list instructions were dropped and others were added. Most of the basic concepts however remained the same. Porting an S5 program to an S7 was a complete re-write, but it was a fairly straightforward one. 69 The exception to this was the S7-200 series, which came into Siemens from the outside as part of their take over of of the PLC division of Texas Instruments. The S7-200 was an American knock off of a Japanese PLC and sold as a German product. It was none the less an excellent PLC and sold in very large numbers. The S7-200 was eventually replaced by something that was compatible with the rest of the S7 line 70 The S7 series has gone through a number of hardware revisions and remains Siemens' main PLC line today. It can via the S5 trace its lineage back to the 1970s and the early days of PLCs. -------------------- 71 Other Developments Japanese PLC Vendors I haven't covered any Japanese PLC vendors in the same way that I covered the PLC2 or S5. I had planned on doing another episode on one but I don't think it would really add much to what we have already discussed. However, PLCs from Japan are among the top sellers world wide and are generally very highly regarded. 72 Pace of Innovation In terms of general history across the industry, in the early days of PLCs evolution was fairly rapid. Later on, innovation slowed down as compatibility with the existing install base became a bigger factor. Technology has become fairly static, but that isn't necessarily a bad thing from a business perspective. I will return to this subject later however. -------------------- 73 Conclusion In this episode we covered the Siemens S5 series of PLCs. We covered the history of the S5, it memory and addressing, the different types of subroutines, programming languages, the instructions, and how it was succeeded by the S7 series. 74 We saw how PLCs had rapidly evolved from their very early relay-replacement origins to become powerful programmable devices. In the next episode we will look at I/O modules and how they allow a PLC CPU to interface to hardware and control machines. 75 This has been the fourth episode in an 8 part series. -------------------- Provide feedback on this episode.

  • September 29 · length unknown

    HPR4737: Keep spare parts for Ethernet run

    This show has been flagged as Clean by the host. Quick show on what I used to run 25 feet of Ethernet cable Amazon Cable Matters 10Gbps Snagless Cat 6 Ethernet Cable, 25ft, Blue 24 AWG Bare Copper, Gold-Plated RJ45, PoE++, 550MHz Other supplies • 1/2 inch length of blue pex tubing from local hardware store Leftover from previous project • Electrical tape • Extendable pole which has a clamp and a trigger mechanism for use with wasp spray • Hyper Tough 3/4 inch Hex Shank Spade Drill Bit • Random Hyper Tough (maybe 3/8 inch) drill bit All purpose • White silicone sealant Reference hpr4654 :: What's in my component Box? Images First part of cable run, internet router side. Ethernet cable, with electrical tape to pex pipe. Extension pole with pex pipe attached by electrical tape. Angle cut on pex pipe. Taped pex pipe with cable, ready to feed to other side. Extension to other side of the mobile home. Success! Fed through the other side. 8 foot extension, suitable to hang an antenna. Silicone to seal the holes. Provide feedback on this episode.

  • September 28 · length unknown

    HPR4736: How to replace the battery in a car key fob

    This show has been flagged as Clean by the host. Replacing battery Remove the emergency key Pry open the fob around the seam with a blunt knife or similar Note the polarity of the battery, ie which way up the battery is. Replace the battery and close. Emergency usage Use the emergency key to enter the car. Hold the key fob to the Start/Stop button Press the Start/Stop button Links https://en.wikipedia.org/wiki/Nissan_Micra#Fifth_generation_(K14;_2016) https://en.wikipedia.org/wiki/Button_cell https://en.wikipedia.org/wiki/Near-field_communication https://www.youtube.com/watch?v=IBP5EEm1oSI Provide feedback on this episode.

  • September 24 · length unknown

    HPR4734: HPR Beer Garden 20 - TuxJam Half-cut Special

    This show has been flagged as Clean by the host. The usual trio of Dave , Kevie and Paul meet up for the first time in person and are joined by Al , Andrew , Joe and Rainy. The meet up was for the TuxJam Half-cut live event in Manchester. Rather than the usual style of show this is a (mostly) unedited recording of the beers that we are trying and general yarns around the table. We were interrupted by a yelling numpty, a middle-aged boy racer and a tram (these were edited out), but otherwise the recording is pretty much as is. The show was recorded outside the Sureshot Brewery Taproom . Connect with the guys on Untappd: Dave Paul Kevie The intro sounds for the show are used from: https://freesound.org/people/mixtus/sounds/329806/ https://freesound.org/people/j1987/sounds/123003/ https://freesound.org/people/greatsoundstube/sounds/628437/ Upcoming beers: Mild Bitter Pale Ale Provide feedback on this episode.

  • September 23 · length unknown

    HPR4733: Static Adict Episode 1: Pulse Demon

    This show has been flagged as Explicit by the host. Sources (yes I used wikipedia, I am a hack, what else do you expect) https://en.wikipedia.org/wiki/Merzbow https://en.wikipedia.org/wiki/Pulse_Demon Band/Artist website https://merzbow.net/ Where to listen to or buy the album Original Release (stream) https://merzbow.bandcamp.com/album/pulse-demon Remaster Release (stream) https://merzbow.bandcamp.com/album/pulse-demon-remaster-reissue Link to buy a physical copy new https://www.relapse.com/products/merzbow-pulse-demon-reissue-2x12 Next album I'm reviewing, Lou Reed's Metal Machine Music https://tidal.com/album/50021 Provide feedback on this episode.

  • September 22 · length unknown

    HPR4732: Webp

    This show has been flagged as Clean by the host. Webp is meant to replace GIF, JPEG, and PNG. Its features include: Lossy compression Lossless compression Metadata, including Exchangeable Image File Format (EXIF) and Extensible Metadata Platform (XMP) Transparency (an "alpha channel") Embedded ICC (International Color Consortium) profile Multiple frames (animation) The typical expectation is to achieve equal or better visual quality as a JPEG or PNG or GIF, but with a savings of 25% to 35% on file size. This is famously difficult to measure, because if you concede to an equal file size, then the quality ought to be better, but there is a "ceiling" to quality that can be detected by the majority of human eyes. So the metric is the unmeasurable: How good does it look to you? If it looks as good or better, and the file size is smaller, then it can be said that the format is superiour. The best and most common test is to look at an image compressed with JPEG or PNG compression, and then look at the same image compressed by WEBP. If you can't tell the difference, and the file size of WEBP is smaller, then it's an improvement for disk space and bandwidth. WEBP is an 8-bit format (based on the VP8 video codec) and lacks support for 10-bit, 12-bit, or 16-bit colour. Specifically, WEBP is YUV420, where Y is Luma (brightness and darkness), and U and V are Chroma (colour). Each 8-bit pixel in the UV (Chroma) corresponds to a 2-by-2 block of 8-bit Luma pixels, or in other words, Chroma gets half the resolution of Luma. This is not uncommon, because how sharp an image appears to the human eye is mostly (not entirely, to be fair) influenced by Luma. Our eyes differentiate bright from dark better than our eyes perceive subtle shifts in hue. The ICCP chunk starts with a 4-byte declaration (the ASCII string "ICCP"), then a 32-bit integer representing the length of the payload, then the payload (the ICC profile specification according to the International Color Consortium), and then optionally a byte to pad the header. The embedded ICC profile can define any old colour space you want. If none is defined, sRGB is assumed. The libwebp library only parses the ICC profile, it doesn't actually handle conversion. That's left to the client application, which is why you might get a notice sometimes in GIMP or a similar application about a colour space mismatch. (It's generally safe to convert to your current colour space, and if it's not then you'd know it because you're working in a multimedia production house where colour spaces and colour profiles are significant.) Converting to WEBP is available in most applications, at this point, including Image Magick and the cwebp command. Image Magick: $ convert foo.tiff foo.webp Or using cwebp with -q for a quality 0 (low) to 100 (high), and -o for output: $ cwebp foo.tiff -q 60 -o foo.webp Test images are available from a Mozilla test suite. Or you can test on a Hacker Public Radio image, such as the screenshot of the upload form on the episode_show_notes page: $ wget https://hackerpublicradio.org/images/upload_form.png $ cwebp upload_form.png -q 50 -o upload_form.webp $ ls -gl -rw-r--r-- 1 users 308K Sep 16 13:56 upload_form.png -rw-r--r-- 1 users 79K Sep 16 13:57 upload_form.webp References Developers Google Salivity.github.io Mozilla Provide feedback on this episode.

  • September 21 · length unknown

    HPR4731: A Website Hacked

    This show has been flagged as Clean by the host. [WP2Shell is] a pre-authentication RCE in WordPress Core . The attack has no preconditions and can be exploited by an anonymous user in a stock install of WordPress with no plugins. - from wp2shell.com Wordpress.org - https://en-gb.wordpress.org/ Searchlight WP2Shell Website - https://wp2shell.com/ CVE-2026-63030 - https://nvd.nist.gov/vuln/detail/CVE-2026-63030 CVE-2026-60137 - https://nvd.nist.gov/vuln/detail/CVE-2026-60137 OpenSSH - https://www.openssh.org/ FileZilla - https://filezilla-project.org/ GNU Tar - https://savannah.gnu.org/git/?group=tar GZip - https://www.gzip.org/ Provide feedback on this episode.

  • September 18 · length unknown

    HPR4730: Playing Civilization VI Part 1

    This show has been flagged as Clean by the host. Civilization VI, made a number of changes, and one of the biggest was the introduction of Districts. Buildings that perviously would have just been part of the city now had to be built in special districts, and the game limited how many of them you could build in any one city. This forced you to make choices, and making choices is the heart of the Civilization series. Playing Civilization VI, Part 1 Districts As we have said before, the rule for each new version of Civilization is that 1/3 stays the same, 1/3 is tweaked, and 1/3 is new. So among things staying the same is the Hexagonal grid first introduced in Civ V, along with the usual roaming tribe in 4000BC. But the handling of terrain that a city can use has changed. The old Big Fat Cross was dropped in Civ V, and replaced with a large Hexagon. And how you use the terrain has changed. In older versions of Civilization, the terrain was mostly used for either farming or mining. It was all about resource extraction, in other words. All of the Buildings you constructed you could think of as abstract, or as all living in the City Center. The only reason you had for making different choices in the Build queue was if you didn’t have enough time or resources to build everything. As a result, many cities looked very similar in what got built. You would put a Granary in each city to help it grow, a Barracks in each to build your troops, a Temple in each city to gather Faith, and so on. There wasn’t much a decision here, or at least not enough to satisfy Ed Beach, the Chief Designer of Civ VI. So he came up with a new land use system involving Districts. With this system, you had to allocate land in your city for most things you would build. If you wanted to focus on Science, for instance, you would have to allocate a tile to a Campus district. Then, inside this district you could build a Library, a University, an Obervatory, and a Research Lab. But that is the only place they could be built. Furthermore, to prevent you from building every district, they limited the number of districts each city could have based on its population. You can always build one district with a new city, but to build another you need to get to a population of 4, and you get the ability to add a District with each additional increment of 3, so at Population 7, 10, 13 you get the ability to add a District. And these Districts have to be constructed as part of the normal city Build process. So in the above example, you would first have to build the Campus district, and when that was complete you could then build the Library to put inside it. And for both the Districts and the buildings inside of them you need to research certain technologies before they become available to you. Where to locate your districts becomes an issue as well. First of all, the tiles available to you are also your stock of tiles for building Farms and Mines, so you need to make choices here. Of course, making choices is the basis them of all Civilization games. Then there are the adjacency effects of terrain tiles. Both Campus (Science) and Holy Site (Faith) districts benefit from being adjacent to Mountains, and the adjacency effects are cumulative, so a tile with mountains on 3 sides can have major bonuses. But since this affects both kinds of Districts, again you have to make a choice. If you are aiming at a Science Victory, or a Religious victory, the choice will be easier, but in case you need to choose. As to placing a District, when you decide to build one you will get a highlight on the map of locations that are permissable. But if you have several such sites, you need to choose which one fits your strategy best. District Types There are a lot of Districts you can build and listing every one of them here would be tedious. Some are only relevant to late-game situations, others address issues like Housing and Amenities, which we will discuss separately. But there is group of core Districts that every player will need to deal with from the beginning: City Center – This is one you get automatically when you build a city, and can hold a Granary, a Monument, a Water Mill, and various levels of Walls, ranging from Ancient to Renaissance. Campus – This is the Science district, and is unlocked by discovering Writing. That comes pretty early so you will get this capability quite easily, but if you are going for a Science victory you might want to make a beeline for Writing. Remember that if you go into the Tech Tree you can click on a tech to select it, and the game will automatically research it and all of its prerequisites. This is very handy for simplifying Research choices. As mentioned, an adjacency bonus is +1 Science for every adjacent Mountain, but you can also get #1 Science for every 2 Rainforest or District tiles. Don’t worry about memorizing these bonuses, they will appear on the map when you are selecting a spot to place your District. Campuses contain Libraries, Universities, Observatories, and Research Labs. And the more built up your Campus Disctrict is, the more Great Scientist points you accumulate. If you want a Science victory you should make it a priority to get Camapus districts put down ASAP in at least a couple of cities, since the effects build like compound interest. Theater Square – This is the Culture District, and is unlocked by discovering Drama and Poetry. That is a somewhat later tech, use the technique of clicking on it in the Tech Tree to get there quickly if you want to pursue a Culture victory. It contains the Amphitheater, Art Museum, Archeaological Museum, and Broadcast Center. It gives +2 Culture from each adjacent Wonder, and +1 Culture from each 2 adjacent Discrticts. The buildings all have slots for holding Great Works, and generate points for Great Writers, Great Artists, and Great Musicians. Holy Site – This is the Religious district, and is unlocked when you discover Astrology, which is a fairly early tech. This district contains Shrines, Temples, and other Worship buildings. It generates Faith, which can be surprisingly useful. Civ VI introduced a new system of relgious warfare and new Religious victory type, but in some circumstances you can use Faith to purchase Units and Buildings, so even if you are not intending a Religious victory you should not overlook it. This district generates Great Profit points. It has adjacency bonuses of +1 Faith from every adjacent Mountain tile, and +2 Faith from every adjacent Natural Wonder, so if you are lucky enough to have a Natural Wonder in your city keep this in mind. Encampment – This is the Military district, and is unlocked by discovering Bronze Working, a very early tech. By building an encampment you can build units that start out with higher Veteran status. In Civ VI I like to build one or two of these in my Empire and use them to construct all of my units. Remember, in Civilization you always want to maintain a strong military to deter your rivals. Buildings include Barracks, Stable, Armory, and Military Academy. This District produces Great General points. It has no adjacency bonus, and cannot be built next to the City Center. But it has strong Defense and can function like the City Center in terms of defense and bombardment capabilities. All newly produced or purchased units will appear in this District, not in the City Center as would otherwise happen. I like to build this on land that is otherwise of low value, like a Desert tile. Commercial Hub – This is the Commerce district, and is unlocked by discovering Currency. The Buildings you can place in this include the Market, the Bank, and the Stock Exchange. Adjacency bonuses include +2 Gold from an adjacent Harbor, and +2 Gold for each Adjacent river. So if your city includes a river that runs into the ocean, place a Harbor in the right spot and then a Commercial Hub and watch the Gold pile up! The Commercial Hub generates Great Merchant points. In addition, a Commercial Hub gives you one additional Trade Route, another way to generate more cash. As we have seen in this series, in all Civilization games a healthy Treasury is a major part of a successful game no matter what Victory type you are pursuing. Harbor – This is the Seafaring District and is unlocked when you discover Celestial Navigation. Buildings in this district include Lighthouse, Shipyard, and Seaport. And if you don’t have a Commercial Hub in the city, adding a harbor can give you one additional Trade Route. Adjacency bonuses include +1 Gold from each adjacent Coastal resource, and +1 Gold from every 2 adjacent District tiles. There is also a bonus of +2 Gold if adjacent to the City Center. This district has to be built in Coastal waters adjacent to Land, but note that the City Center does not need to be on the Coast to build this. You just need to have Coastal Waters available within your city. This district generates Great Admiral points. While this district is important for projecting Maritime power, it is equally useful for generating Gold, reflecting the fact that historically Maritime powers have been the most successful traders and the wealthiest nations. Industrial Zone – This is the Production district, and is unlocked when you discover Apprenticeship. Its buildings include the Workshop, the Factory, and the Power Plant. Adjacency bonuses include +1 Production from each adjacent Quarry or Mine, and +1 from each two adjacent Districts. One interesting thing is that some of the prodction bonuses from this district can applly to any City whose City Center is within 6 tiles, so it is possible by careful placement to have one Industrial Zone that benefits 2-3 cities. This district generates Great Engineer points. These are the major districts you will be dealing with, and note that each one generates Great Person points. But note also that there are 7 of them. You can certainly have a large Empire that contains at least one of each. But to have all of them in one city would require a population of 22, which can happen if you aim for it, but also would mean very little in the way of farming or mining. I have seen expert players do a “one city challenge” where they attempt to win a victory with only one very large city, but I have never been interested in that sort of thing. I play to relax and enjoy myself. And one more thing about adjacency bonuses: you get bonuses even from Districts in a different city. As an example if you place a Commercial Hub from City A next to a Theater Square from City B, both Districts can benefit from the adjacency. Links https://civilization.fandom.com/wiki/District_(Civ6) https://www.palain.com/gaming/civilization-vi/playing-civilization-vi-part-1/ Provide feedback on this episode.

  • September 17 · length unknown

    HPR4729: Living under a rock

    This show has been flagged as Explicit by the host. Living under a rock Living under a rock and feeling completely out of touch with everyone else. I rarely buy new items unless I have to due to me being a tight Scotsman however recently I have bought a few new items and their performance surprised me somewhat and made me feel a little like I’ve been living under a rock. I thought this would make a good topic for an HPR show. SSD 256GB USB stick (Refer to picture 1 and 2) Wikipedia article about SSD’s This is my first ever SSD, its made by Netac It is a double ended USB thumb drive with a USB A one side and USB C the other. I couldn’t believe how fast it was on my Mac; copying a 700MB file seemed almost instantaneous. I couldn’t actually believe it had copied the file and thought it had been an error! I tried it on my old PC running Ubuntu and was getting 40MB/sec write speed! Even more surprising was copying files between a USB hard drive and the SSD usb stick, with both connected to my Raspberry Pi. This was achieving a sustained write speed of 60MB/Sec. I’ve never seen anything faster than 40MB/Sec. I think I’ve been living under a rock for a number of years while the rest of the world moved on! My only concern with this technology is that I am not totally convinced about the long term reliability of SSDs. The SSD is great for transferring files back and fourth to different devices however for now I’ll stick to spinning hard drives on my PC for long term storage as speed is not so important to me. Picture above shows my new Netac USB SSD stick Picture above shows how the USB SSD stick opens LED Lantern (Refer to pictures 3) This LED Lantern was recommended by my mother We purchased it from Tesco’s. Tescos in the UK is a British multinational groceries and general merchandise retailer I think it only cost me £8.40. (UK pounds) It even came with AA batteries ! The LED Lantern is 9 inches x 3.5 inches The light output is phenomenal. It is diffused and fills a good-sized room with light. It has a low output mode, which is still very usable and will increase the running time. It also has a flashing option, which is likely only useful in an emergency. I think the reason they were selling them so cheap was that the date code of the included AA alkaline batteries was almost out of date. Alkaline batteries can have a very long shelf life. Picture above shows the new LED latern that I bought from Tescos Super Store in the UK Laser printer HP M209dw (Refer to picture 4) Wikipedia article about laser printers Wikipedia article about inkjet printers I needed to replace my old Epson inkjet printer with a new printer as it recently failed after 20 years of use! I covered the failure of my old printer in HPR episode HPR4552 My new printer is an HP M209dw I'm finding it really nice to have crisp, clear, trouble-free printing again. It’s also very nice that the printer does double-sided (duplex) printing. I’ve been putting my new printer to good use printing out various SSH documentation to help me try and solve an SSH problem I’m having. As of May 2026 i’ve now had the printer about 6 months and according to the printer I’ve used about 50% of the toner cartridge. I believe it may be necessary at some point to remove the cartridge and gently rock it in order to use up all the remaining toner. I’m slightly nervous of doing this as I'm concerned it could prove messy. Time will tell how long the cartridge ultimately lasts and how much a new toner cartridge will cost. I also think it unlikely that this printer will last 20 years like my last Epson printer. Come to think of it I might not last that long either. :) New Raspberry Pi4 server install Wikipedia article about the raspberry pi 4. Current stumbling block is SSH . My new raspberry pi 4 is running an up to date distribution. This distribution has a corresponding up to date version SSH . This newer version of SSH is refusing to connect to another raspberry pi running an old distribution. I can’t update the distribution on the older raspberry pi because it has a PiFace command and display add-on board which I covered in HPR episodes hpr2933 , hpr2951 , hpr2963 , hpr2976 . The drivers for this board are not available on an up to date raspberry pi Linux distribution. Getting the driver software installed for the add on PiFace command and display board on and up to date raspberry pi Linux distribution is non trivial. I also need to be able to make this work in the other direction. ie the old pi needs to be able to SSH into the new pi. This is proving tricky. I did a search within the SSH release notes and found over 20 references to possible incompatibilities between the latest version of SSH and the old version of SSH running on my PiFace Raspberry pi! Car tyre problems Mrs. X’s car had a long-standing tyre problem. The air pressure in one of her front tyres kept going down. This caused a warning light on the dashboard to come on. At first, it was taking a long time for the light to come on after it was pumped up. Over time the leak got worse and the light came on more quickly after the tyre was inflated. We eventually took her car to our local garage; they couldn’t find the fault. The tyre leak continued to get worse. We eventually took the car to a car tyre specialist called Farmer Autocare near Medowbank in Edinburgh Scotland. They discovered that air was leaking from the tyre valve. They informed us that they were unable to repair the tyre because it was fitted with a TPMS “Tyre Pressure Monitoring System” . They said that the tyre valve had a sensor and this couldn’t be separated from the tyre valve and that we would need to go to one of their specialist branches that can replace this. This would require a new sensor which would need to be reprogrammed. They warned us the repair could be expensive. The following week, we visited the specialist Farmers Autocare in Corstorphine Edinburgh. They took a closer look and found that it was actually leaking around the edge of the valve. They ground down any corrosion around the alloy wheel, refitted the valve and added sealant. In the end, the repair bill ended up being very reasonable. We were warned that each of the four valves has a battery installed and that they have a finite lifespan and that due to the age of the car, any one of the four batteries could fail at any time. Each of the valves would be expensive to replace! I guess this is the price you pay for the complexity in modern cars. Kindle pre 2013 No longer supported by Amazon I have one of the affected devices. It’s a pre 2013 Kindle 4 . It was the last model before they brought in a touch screen. My wife complains about her newer model with a touch screen. She preferred the earlier model like mine. In an email Amazon said they were glad we had enjoyed using our kindle for a long time. Going forward we can no longer purchase books from Amazon as they are cutting Kindle Store access. What surprised me most was that the email stated that a factory reset of the Kindle would make the device unusable for good! I was under the impression that I can still download books manually from Amazon. However this may not be true as I noted down the following comment from somewhere. Unfortunately I can’t remember where: The statement 'You can still log into Amazon’s “Manage Your Content and Devices” page on the web, download your owned Kindle books as files, and transfer them manually via USB.' is not really true. There is no longer (in April 2026) any "download" facility on that page, even for titles I "own". That's the whole point. During the episode I refer to the fictitious TV character Victor Meldrue from the UK TV show “ One Foot In The Grave ” whose catch phrase was “I don’t believe it!”. Roku streaming stick Feb 2026 Our old Google Chromecast started to become very buggy and slow. This is an old model that you use by casting programs from your phone or tablet device. My mother has a newer version of the Google Chromecast . When I visited her I also found this a bit slow and buggy. I previously tried replacing our Google Chromecast with an Apple TV streaming box costing over £100! I found this frustrating as some of my existing apps would not cast to my Apple TV streaming box. I promptly returned the Apple TV streaming box to Amazon for a full refund. Mrs X came up with the idea of buying a Roku streaming stick. I knew very little about Roku and didn’t expect to be much good due to the low price (£27 UK). We bought the Roku Streaming stick plus 4K HDR This is a streaming device similar to a Google Chromecast and Amazon’s Firestick We have found it extremely good value at only £27 (UK) The remote control is excellent and also controls all the TV major functions like volume & turning the TV off and on. The interface seems very responsive and I can cast all my apps from my phone and tablet to it with no problems. The only negative thing I have found is that it seems to have stopped my TV remote working with Kodi . I have Kodi running on a raspberry pi under my TV. This works by sending the remote control signals received by the TV and passing them to the raspberry pi via the HDMI cable connected to the TV. These control signals are sent using CEC . My hunch is that during the Roku installation it has upgraded or reconfigured the CEC on my TV stopping it from now controlling Kodi . Luckily this is not too much of a problem as I don’t use Kodi very often these days and I can also control Kodi using an old Xbox remote control and Xbox infrared Sensor that I have plugged into my raspberry pi. Provide feedback on this episode.

  • September 16 · length unknown

    HPR4728: Programmable Logic Controls - Episode 3

    This show has been flagged as Clean by the host. -------------------- 01 Introduction This is the third episode in an 8 part series. 02 In the previous episode we covered * The early history of computers in industrial control * The early history of PLCs, including how they got their name * Who the major brands are * What they look like physically * A basic description of the abstract machine architecture * A very brief look at what a PLC program is like * The scan concept * The main PLC programming languages * The minor PLC programming languages * The relative popularity of each of the programming languages 03 In this episode we will begin by taking a look at one of the early PLCs from the era when they first began seeing widespread use. I will not even attempt to try to be comprehensive, I will just give a broad overview in the limited time I have available here. I have started with an older model because its simplicity and limited features allow for an easier introduction to the topic. -------------------- 04 Allen Bradley PLC/2 The Allen Bradley PLC/2 was introduced to the market in 1977. It was not their first foray into this field, but it was their first really successful one. I am not aware of a comprehensive history of their early product line, but one of their early major selling models was the PLC2/30. This is also known as their 1771 series. -------------------- 05 Physical Layout The CPU module was a large metal box which sat beside the I/O rack and connected to it with a cable. The I/O rack was a box with an open front and an series of slots into which tall narrow boxes containing the I/O could be slotted. 06 A backplane ran across the back, connecting the I/O to the CPU. Multiple racks could be connected together by cables. For the PLC2/30, you could have a maximum of 896 digital I/O points. 07 Racks were 315mm high, and between 247mm to 610mm wide, with racks coming in 4, 8, 12, and 16 slot varieties. The CPU was the same height as the rack and roughly square in outline. 08 As micro electronics advanced, the CPU module was able to be shrunk down in size such that it would fit into a slot in the rack, which became the norm for PLCs. -------------------- 09 The Electronics Inside Early model PLC/2s used some sort of 8 bit processor, some sources say an Intel 8080. 10 They also used four AMD 2900 bit slice processors as a logic co-processor. If you are not familiar with bit slice processors, these are chips which are like a 4 bit vertical slice through a processor, and can be joined together with logic chips to form a complete CPU. These are what were used to construct minicomputers. 11 They were used as coprocessors in early PLCs because microprocessors on their own were simply too slow to handle running the user program rapidly enough to allow a useful size program. One or more microprocessors were used as well in order to coordinate the overall operation and system management. 12 As microprocessors grew faster and more powerful, the need for logic coprocessors declined and they were eventually dropped. Early versions used magnetic core memory. Later ones switched to some sort of solid state RAM, probably static RAM of some sort. 13 Details of what sort of processors are inside any PLC are actually very hard to come by as manufacturers don't generally talk about that sort of thing. They wish the user to see it as just a black box. -------------------- 14 The Data Table From a programmer's perspective, the most important thing to understand first is the data table. The data table is the PLC's data memory. 15 For a PLC2, this is an array of 16 bit words. Each word consists of two 8 bit bytes. Addressing for both bits and words is in octal. 16 For those not familiar with them, octal numbers follow a counting system that goes from 0 to 7. The next number after 7 is 10. Counting then proceeds from 11, 12, 13, etc. going to 17, 20, 21, etc. Each octal digit takes exactly 3 bits. 17 Individual bits in PLC2 notation may be addressed by specifying the word followed by a slash, and then the bit. For example, 030/12 is the 12 bit in word 030. Remember that this is octal, so 12 is not the 12th bit if you are counting in decimal. 18 Memory Organization On the PLC2/30, the data table has the following organization. 19 Word addresses 000 to 007 are Processor Work Area number 1. This is not accessible by the user. 20 Word addresses 010 up to, but not including, 100 are the Output Image Table. This is a memory mapped image of the I/O outputs. 010 to 077 is for Rack 1. 020 to 027 is for Rack 2. This pattern continues up to Rack 7, which is 070 to 077. 21 Word addresses 100 to 107 are Processor Work Area number 2. This is also not accessible by the user. 22 Word addresses 110 up to, but not including, 200 are the Input Image Table. This is a memory mapped image of the I/O inputs. This is laid out in the same way as the output image table, and goes from 110 to 177. 110 to 117 is for Rack 1. 120 to 127 is for Rack 2. This pattern continues up to Rack 7, which is 170 to 177. 23 You will notice that the output image table and input image table appear to address the same rack slots. They do in fact do this. As to which address a specific slot in a specific rack maps to depends on whether there is an input card or an output card in that slot. 24 Addresses 200 to 277 are for Timer/Counter accumulated values. An accumulated value is the current time or count. 25 Addresses 300 to 377 are for Timer/Counter preset values. A preset value is the target time or count which when reached causes the timer or counter to indicate that it has reached the desired value. 26 The memory above 400 can be configured to split it into a data storage area and user program area. The data storage area is where you would store data that your program needs to use which is not part of the I/O or times and counters. You need to strike the correct balance between user data and program size. 27 There are various things that can be changed and configured with respect to the above, but I am not going to cover that in any depth as this is not a tutorial on the PLC2. = You should however have a pretty good idea of the memory of an early model PLC. The things to understand are that I/O are mapped to memory addresses, and different memory ranges are used for different purposes. 28 All memory management was manual. It was up to the user to keep track of which memory addresses were to be used for what purposes. Allen Bradley helpfully provided paper forms which you could photocopy which you could use to plan out and document what each address would be used for. Part of the programmer's job was to make efficient and logical use of memory, while also leaving space for future changes. -------------------- 29 The User Program The user program is made up of instructions. Each instruction typically takes one word of memory. However, complex instructions can take up to 8 words of memory. 30 There is a main program. You can think of this as like the "main" function in C. If you don't find that analogy helpful, then just think of it as this is where your program starts. The main program continues with one rung after another until it reaches the END statement. 31 There is also a subroutine area. The main program calls a subroutine by using a Jump to Subroutine, or JSR instruction. 32 The T3 Programming Terminal When the PLC2 came out, things like laptops were still far in the future. Even the first Compaq Portable suitcase style PC was still some years away. Indeed, the first PLC/2 came out not long after the first Altair PC kit. 33 Programming initially therefore was done using a special programming terminal known as a T3. The T3 was a suitcase size box with a small CRT in the end of it, and a keyboard attached to it below the screen. If this sounds like the early portable PCs, keep in mind that this in fact predated them by a number of years. 34 The keyboard was not a typewriter or QWERTY style. It had a membrane keypad with graphical symbols. Recall the previous episode on control diagrams using relays and how these were documented using schematic symbols on drawings. The T3 terminal keypad had symbols corresponding to a simplified and modified version of the symbols used in those schematic drawings. 35 When a programmer pressed one of those symbols on the keypad, the corresponding symbol appeared on the screen in the current cursor location. The programmer could then enter the data address that the symbol was to correspond to using the numeric part of the keypad. 36 An engineer, technician, or electrician could therefore create and enter programs using a fully graphical environment that used his existing knowledge of control using hardware components. They did not see this as programming a computer, they saw it as something else entirely which was unrelated to computers. 37 Programming took place with the T3 connected to the PLC while the PLC was in program mode. The instructions were entered directly from the terminal into the PLC memory. Programs could be saved or restored to cassette tape. The program would run when the PLC was set to run mode. 38 What is more, the T3 terminal allowed on line debugging of programs. When the T3 was connected in run mode, the ladder diagram would update live. When a logic condition was true, it would be highlighted. When the logic condition was false, it would be shown in an non highlighted state. 39 By observing a specific rung, you could see if the expected series of graphical instructions were all highlighted in a pattern which would result in the final output of the rung to be true or false as expected. This was an invaluable troubleshooting aid in finding both software bugs and hardware faults. Programming terminals became an indispensable part of an industrial maintenance electrician's essential equipment. 40 Eventually as portable PCs and later laptops became available, the T3 became obsolete and these functions were transferred to software that ran on standard PCs. However, they still work essentially the same way. Additional capabilities were added, such as the ability to write programs while not attached to the PLC. Descriptive labels and comments could be added to memory addresses to document them and aid in reading the program, Cross referencing functions would make it easier to find which addresses were used for what, etc. -------------------- 41 Instructions I will now turn to listing the sorts of instructions which were available to use. I won't try to explain everything, but it should at least give you a vague idea of how these were programmed. I will use Allen Bradley's names for these, which I should emphasize do not correspond to what other manufacturers call them. 42 Relay Type Instructions These are boolean instructions and consist of the following. 43 Input instructions These examine bits in memory and yield a logic state depending on the value of the bit they address. Input instructions start at the left of the rung and work their way right as more are added. Examine on - This is true when the addressed bit is set to 1. Examine off - This is true when the addressed bit is set to 0. 44 Output Instructions These turn bits on or off depending on the sum of the boolean logic conditions leading up to them. Output instructions are on the right of the rung. There must always be at least one output instruction. Output Energize -When the logic conditions leading up to it are true, it sets a bit to 1. When the logic conditions leading up to it are false, it sets a bit to 0. 45 Output Latch - When true, the bit is turned on. When false, it does nothing. Output Unlatch - When true, the bit is turned off. When false, it does nothing. 46 Branch Instructions These do nothing themselves, but they make wiring connections on the diagram. These are important to allow the instructions listed above to be placed in parallel in the same rung so that they can do things like specify OR conditions. You can think of them as essentially turning an examine on or examine off into an OR or OR NOT instruction. -------------------- 47 Timer and Counter Instructions Timers and counters are as the name implies, instructions which do timing and counting operations. They have separate preset and accumulated values. They are a type of output instruction in that they reside on the right side of the ladder rung and their operation depends on the state of the rung logic to their left. 48 Timers and counters work in Binary Coded Decimal, or BCD values. BCD values each take 4 bits of memory. However, unlike hexadecimal, only values from 0 to 9 are valid. What would be values from A to F in hexadecimal are not valid values in BCD. 49 The preset and accumulated values are stored in 16 bit words. The first 12 bits are used to store up to 3 BCD digits. The remaining uppermost 4 bits are used to store instruction status bits such as whether the timer or counter is done and various other features. 50 Timers The timer time base corresponds to the timer resolution. The time bases are 1.0 second, 0.1 seconds, and 0.01 seconds. So a timer with a 1 second time base can time from 0 to 999 seconds to one second of resolution. A timer with a 0.1 second time base can time from 0 to 99.9 seconds to 0.1 seconds of resolution. 51 There are three types of timer, Timer On Delay (or TON), Timer Off Delay (or TOF), Retentive Timer (or RTO). 52 On delay timers time while the rung condition is true and reset when it goes false. Off delay timers time after the rung condition goes false and reset when it goes true. Retentive timers are like on delay timers but retain their accumulated value until reset by the Retentive Timer Reset (or RTR) instruction. Generally, you start a timer and then monitor its "done" bit somewhere else in your logic. 53 Counters Counters count events. These come in the following varieties. 54 Up-counter (or CTU). Down-counter (or CTD) Counter Reset (or CTR) Scan Counter (or SCT) 55 Up counters count upwards from zero, and down counters count downwards from the preset. The scan counter counts the number of program scans. This is not something you would typically find a use for, although you can use it to for example calculate the scan time. -------------------- 56 Data Manipulation Instructions Data manipulation instructions are used to read, write, and compare byte and word data. Operations take place when the rung goes true. 57 GET reads a 16 bit word from a memory location. PUT writes a 16 bit word to a memory location. LES resolves to true if the value read by the GET instruction is less than a specified value. EQU resolves to true if the value read by the GET instruction is equal to a specified value. 58 The LES and EQU instructions can be combined in various ways with each other and with GET to give all the possible comparison permutations such as greater than, less than or equal to, etc. 59 GET BYTE reads a 8 bit byte from a memory location. LIMIT TEST resolves to true if a byte value is between the limits stored in the upper and lower bytes of a word. LIMIT TEST is used in combination with GET BYTE. -------------------- 60 Arithmetic Instructions Arithmetic instructions also operate on BCD word values. Operations take place when the rung goes true. The uppermost byte is used to indicate things like arithmetic overflow or underflow. These include 61 Add Subtract Multiply Divide Convert BCD to Binary Convert Binary to BCD -------------------- 62 Block Transfer Instructions Block Transfer Instructions are output instructions that are used to transfer up to 64 16 bit words of data between the data table and I/O modules. These are used with intelligent I/O that worked with words rather than individual bits. 63 Examples of these are things like Analogue I/O that read and write varying voltages rather than just on or off. PID that handle closed loop control of things like temperature. Thermocouples that read temperatures. Servo motor control that command positions of servo motors. Stepper motor control. Position encoders. 64 I won't go into details on block transfers, but this should be enough to give you a general idea of how the PLC could handle that sort of equipment as opposed to the simple on/off states of digital modules. Obviously these can be used in combination with GET, PUT, and other data manipulation instructions which can read and write memory locations. -------------------- 65 Jump Instructions and Subroutine Programming These include the following instructions. 66 Jump (or JMP) Label (or LBL) Jump to Subroutine ( or JSR) Return (or RET) 67 Jump will jump execution to a label position. You can think of it like a GOTO instruction. 68 Labels are numeric and can be from 00 to 77 in octal. Jump instructions are rung outputs, and when the rung goes true, execution jumps to the label number specified in the instruction. Labels are input instructions and appear at the start of the rung where execution resumes. 69 Normal jumps cannot jump into a subroutine, and they can only jump forward, not backwards. This means that loops are not possible using jump. This would be a deliberate design decision to prevent programs from getting stuck in a loop and preventing the scan from proceeding. 70 Subroutines appear after the end of the main program. They are defined by numerical octal labels using the label instruction. Subroutines are called using the Jump to Subroutine (or JSR) instruction. At the end of the subroutine, the Return (or RET) instruction returns execution to the next rung following the JSR which called it. You can nest calls to subroutines up to 8 deep. -------------------- 71 Data Transfer File Instructions Despite what you may think from the name, there are no disk files in the PLC2. A "file" instruction rather moves blocks of words from one data memory location to another. = These include source and destination addresses, and various other parameters which control the operation. There is actually quite a bit involved in these, but I'm not going to bother going into the details. You just need to know that it is possible to move blocks of data memory around. -------------------- 72 Shift Register Instructions These operate on entire series of words and include = Shift File Up Shift File Down FIFO Load FIFO Unload 73 These can operate on 1 to 999 words. A typical use for this sort of instruction would be to track a part as it moves through the various stations of a machine. -------------------- 74 Bit Shifts These operate on individual bits and include the following. 75 Bit Shift Left Bit Shift Right Examine Off Shift Bit Examine On Shift Bit Set Shift Bit Reset Shift Bit 76 These do pretty much as you would expect in terms of shifting bits left or right. However, the shift register can be defined to be anywhere from 1 to 999 bits long, so it is not confined to the size of a word. -------------------- 77 Sequencer Instructions Sequencer instructions are a software emulation of electromechanical drum controllers. Drum controllers allowed a long sequence of operations to be performed. These used a rotating drum which had a regular series of parallel holes in the outer surface. Above one row of these holes was a row of limit switches. By inserting pegs into some of these holes which made contact with the limit switches, the drum controller could turn on patterns of relays or valves. 78 Some of the limit switches could be connected to sensors on the moving elements of the machine. When the parts of the machine were in the correct position for that step in the sequence, the pattern of pegs would cause an electrical path to complete through the limit switches and energize a solenoid which would ratchet the drum to the next step. 79 This is often compared to a music box or to an old style of washing machine control. However in the case of the drum controller, the pegs would program the input match conditions as well as the desired output. The PLC/2 drum controller would emulate this sequencer. This feature came to be very widely used in equipment used in the automotive industry and other assembly oriented manufacturing processes and often formed the heart of the PLC/2 program. 80 I won't go into details of the sequencer instructions, but there are separate input and output sequence instructions. The input sequence instruction would try to match the states of the sensors, and the output sequence instruction would turn the various outputs on or off, controlling things like solenoid valves. The sequence itself would be defined by a series of words in memory, with each bit corresponding to an individual input or output. -------------------- 81 File Logic Instructions File Logic instructions amounted to array operations on words, although the term "file" is used for what in computer terminology would be an "array". These instructions included AND OR EXCLUSIVE OR Complement -------------------- 82 Special Programming Techniques These are miscellaneous instructions. These consist of the following. One Shot Leading Edge One Shot Trailing Edge 83 A one shot is an output instruction that causes the addressed bit to turn on for one scan upon a change of state in the rung logic condition. One shots could be triggered on a false to true change or a true to false change, depending on which of the two instructions were used. -------------------- 84 Why Did the PLC2 Use BCD? You are probably wondering why the PLC2 used BCD numbers instead of normal integers. This reflects the operating environment that an early PLC would have to work in. Early operator panels using mechanical numerical input devices and simple electronic output displays which typically worked in BCD. 85 Thumbwheel switches were small drum like rotating devices with numbers 0 to 9 printed on the periphery. Several wheels would be stacked beside one another. They looked somewhat like the mechanical odometer that you would find in an older car. The operator could however move each digit wheel separately. Each digit would be read by wiring 4 wires back to 4 inputs on the PLC. Thus each digit was inherently BCD due to how the thumbwheel hardware worked. 86 By turning the individual wheels separately, the operator could adjust things like temperatures, speeds, time delays, etc., and so modify process parameters. Output operator displays were typically 7 segment LED, neon, or vacuum fluorescent displays. These displays or devices similar to them preceded PLCs and so were common industrial devices that had to be handled. Each numeric digit had 4 inputs that would be wired to 4 outputs on the PLC. Seven segment displays can use hexadecimal, but that wasn't very useful if you are trying to display a temperature in Celsius to an operator. Thus again, BCD was the most practical sort of number to work with. 87 As PLCs and their user programs grew more capable and more sophisticated, they began working with normal integers and even floating point numbers. However, many if not most PLCs were to retain instructions to translate to and from BCD. -------------------- 88 The Influence of the PLC2 The PLC2 was a hugely successful product for Allen Bradley and firmly established them as one of the leading PLC vendors, with a number one position in the North American market, and in the top 5 world wide. However, it had a number of weaknesses, particularly the very primitive memory and subroutine architecture and the focus on octal and BCD numbers. It was focused on replacing control relays and it did this fairly well. 89 The next really successful successor to the PLC2 for Allen Bradley was the PLC5. This took the basic PLC2 instruction set and married it to a new memory system with new data types, separate name spaces, and parameterized functions. 90 It was like switching from programming in Basic with line numbers and jumps to Pascal. However, it could still use PLC2 I/O racks and modules, an important consideration given that the bulk of the cost of a PLC was in the I/O system. 91 The PLC 5 was in turn succeeded by the Contrologix series which modernized things still further, while being in a smaller form factor. Allen Bradley remain one of the major PLC vendors today, operating under the Rockwell name. -------------------- 92 Conclusion In this episode we focused on one specific but very widely used early PLC, the Allen Bradley PLC2. We covered the following subjects. The internal electronics. The data table. The user program. The T3 programming terminal. And a very brief overview of the instruction set. 93 This was a fairly simple and in some ways primitive PLC, but you should have a very rough idea of the concepts behind a PLC, including the data table and scan concept and the relay-like instruction set. 94 In the next episode we will take a look at a PLC from the largest vendor word wide, Siemens. In this example we will look at a model from slightly later than the PLC2, the S5 series. This could be seen as a second generation PLC. Since we won't need to repeat the basic concepts covered already, we can focus more on what is new and different about the S5 compared to the PLC2. 95 This has been the third episode in an 8 part series. -------------------- Provide feedback on this episode.

  • September 15 · length unknown

    HPR4727: friedcamp interviews part 4: The free Lantern

    This show has been flagged as Clean by the host. jasper from the Free Latern https://www.thefreelantern.com/ LyricConductor https://github.com/jnuyens/LyricConductor ModuleJail: https://www.modulejail.com https://github.com/jnuyens/modulejail Smart Dinosaur - Space for Fantasy Youtube: https://www.youtube.com/watch?v=qnUyW2yiiwo&list=OLAK5uy_kCrIROefktTWed3iPyDGhCUKl4gTvqXDU Spotify: https://open.spotify.com/album/3J2qdIgJFtk78O5IhYWbOH?si=eba8037fe0b34339 Provide feedback on this episode.

  • September 14 · length unknown

    HPR4726: Trurl's intro show

    This show has been flagged as Clean by the host. Introduction & Setting : Recorded on a sunny August afternoon in a Merton garden with Trurl exploring a wide-ranging philosophical and analytical journey through mathematics, games, and literature. Literary & Sci-Fi References : Stanislaw Lem : Discussion of the robot character Trurl from The Cyberiad , who alphabetically creates everything before reaching the letter "N" for "nothing" and destroying everything. Learn more about Lem on Wikipedia . Vladimir Nabokov : Analysis of The Luzhin Defense , a novel exploring chess obsession, psychological breakdown, and the "horror of chess." Explore the book on Wikipedia . Edgar Allan Poe & Thomas Hobbes : Discussion on 19th-century precision in writing, stylistic inflections, and the value of rigorous language. Martin Amis : Praise for his modern precision, with highlights including Money and Information . Core Philosophical & Mathematical Themes : Socratic Epistemology : Exploring the ancient Greek view from Plato's dialogues that equates knowledge directly with practical skill. Active vs. Empirical Learning : Trurl's theoretical aversion to traditional science labs in favor of pure conceptual frameworks, contrasted with hands-on computational tinkering. Stephen Wolfram : Discussion of A New Kind of Science and the computational approach to universal systems. Applied Puzzles & Strategic Games : Chess Ratings : Investigating the rating system, Elo mechanics, and statistical anomalies suggesting top players are statistically underrated. The Drake Equation & Astrobiology : Quantitative modeling of extraterrestrial life inspired by Stephen Webb's If the Universe Is Teeming with Aliens... Where Is Everybody? . Economics & Libertarianism : Transition from early socialist upbringing to decentralized economic structures, cryptocurrency architectures, and the Lightning Network. Provide feedback on this episode.

Showing 1–20 of 51 episodes