Content
# Cambria Water SCADA Meeting - 2026/04/16 08:56 PDT - Notes by Gemini
📝 Notes
Apr 16, 2026
Cambria Water SCADA Meeting
Invited kevin@autosysnet.com Andy Thomson Mason Radke
Attachments Cambria Water SCADA Meeting
Meeting records Transcript
Summary
The team aligned on SCADA integration status via firmware updates and efficient documentation strategies for control logic.
SCADA Integration and Firmware
The team completed the controller firmware update to enable essential enable and disable register functionality. This update facilitates the successful operation of the new SCADA integration tool.
Control Logic and Documentation
Development of the lead lag standby pump control and stale data logic is finalized. New documentation practices using AI tools ensured all PLC tags are clearly defined.
Commissioning and Site Strategy
The team decided to proceed with commissioning in 1 month following the finalization of site disable logic. This ensures robust control capabilities before the upcoming project deployment.
Next steps
* [Kevin] Grab Equipment: Pick up the PoE camera equipment from Andy.
* [Mason Radke] Complete Firmware: Finish necessary firmware updating on the controller. Test command enable/disable functionality after updating.
* [Mason Radke] Send SCADA Documentation: Deliver the HTML version of the SCADA integration documentation to Andy.
* [Mason Radke] Re-enable Reads: Revert disabled read commands back to enabled state. Ensure values begin populating historical data.
* [Kevin] Check Availability: Check calendar for available dates. Coordinate availability for the upcoming on-site commissioning test.
* [Mason Radke] Add Disable Logic: Integrate command disabled status into the IO fault logic. Trigger IO fault if the associated command is manually disabled.
* [Mason Radke] Implement Site Disable: Build per-site disable logic in the code. This logic must trigger multiple corresponding command disable bits simultaneously.
* [Mason Radke] Add Search Feature: Add a search bar function to the SCADA visualization tool.
* [Mason Radke] Research Poll Interval: Research the ProSoft poll interval timing mechanism. Provide clarity on how the 10-second updates are currently functioning.
* [Mason Radke] Deliver Files: Send the ACD file, the H3NL file, and the Prooft file to Andy Thomson.
Details
* Meeting Opening and Small Talk: Andy Thomson welcomed Kevin to the meeting and mentioned they have a box of PoE camera equipment for Kevin to collect (00:01:52). Mason Radke shared that they were dealing with jetlag and getting used to the Invisalign retainers they were recently fitted with (00:00:00).
* Firmware Update Status: Mason Radke confirmed they were connected and attempting to update the controller firmware, but were having trouble locating the necessary file provided by support (00:01:52). After locating the file, Mason Radke noted the module was currently rebooting and expressed hope that the system would come back online soon (00:04:07).
* Leveraging AI for Documentation: Andy Thomson discussed utilizing Claude, an AI, to streamline documentation processes for a solar battery charge controller upgrade. The AI was used to create detailed installation procedures, a more visual guide for them, and customer-facing documents, which Andy Thomson found to be an amazing practice for a "stupid job" (00:02:56).
* Tour of Google Quantum AI Facility: Kevin reported on their recent tour of the Google Quantum AI facility in Goleta. They described the support systems and infrastructure, including the water and HVAC systems, as mind-blowing, noting the tight temperature and air pressure requirements for the clean rooms (00:05:19).
* Reference to Silicon Valley Show: The group discussed the HBO show *Silicon Valley* after Kevin mentioned their experience at the Google facility. Mason Radke and Andy Thomson recommended the show to Kevin, describing it as very funny and clever, and noted its relevance given the real-world experiences (00:08:35).
* Update on Firmware and Ignition Phase Document: Mason Radke mentioned that they were still dealing with the firmware upload issue and would work on it later. Kevin asked about the status of the "ignition phase three" Google Doc checklist, and Mason Radke confirmed they had continued with the project, assuming the control strategies were acceptable (00:09:36).
* SCADA Integration Tool Overview: Mason Radke introduced the new tool created for integrating their work into SCADA, which includes three tabs: PAX object view, Pro Soft command view, and SCADA integration tab (00:10:41). This tool was designed to help reference configuration details for troubleshooting purposes, listing tags, commands, and alarm bits (00:12:04).
* Details of the Integration Tool Tabs: Mason Radke provided a detailed walkthrough of the SCADA integration tool, showing how objects are broken down by LS, XT, and MT views, with accompanying PLC tags and Pro Soft commands (00:12:04). The command view details IP addresses, communication fail alarm bits, and the enable/disable register, which requires the new firmware update to function correctly (00:14:17).
* Documentation Strategy and Value: Andy Thomson praised Mason Radke for creating documentation that is "gold" and easily navigable (00:15:27). Mason Radke explained they abandoned a traditional 40-page document in favor of the current tool, which made more sense for tracking configuration data (00:16:33).
* SCADA Integration Tab and Stale Data Logic: Mason Radke reviewed the SCADA integration tab, which groups information by site and type, including communication fail and stale data delay set points (00:17:42). Mason Radke confirmed that all analog values now have a stale data logic with a set point, which is written outside of the PAX object (00:18:48).
* Control Logic Overview: Mason Radke showed the control logic on the screen, noting that control logic has been broken out into its own program for better organization (00:23:17). The basic logic involves comparing an analog value against a set point to energize or stop an input call, with a force call bit for overriding set points (00:24:33).
* Force Call Bit Functionality: The discussion focused on how the "force call" bit operates, and Mason Radke confirmed they programmed it as a toggle, which essentially latches the pump to run (00:25:47). Mason Radke explained that releasing the force call will not immediately stop the pump; it will wait until the process rises above the stop set point, which is the desired functionality (00:26:59) (00:29:12).
* Lead/Lag Pump Control and Tag Comments: Mason Radke confirmed implementing the LLS (Lead/Lag/Standby) structure for the duplex pumps to handle auto-rotation, standardizing the approach (00:29:12). The PLC tags were commented using an XML export that Claude assisted with, ensuring that all set points and timers are clearly documented (00:30:37).
* Assessment of Pro Soft Modules: The team discussed the Pro Soft modules, which Andy Thomson considers a gold standard for communication protocol. Mason Radke agreed they are great, despite the initial confusion regarding addressing and correlation to PLC tags, and confirmed that the ML1400 can be effectively used for Modbus TCP/RTU (00:34:39).
* Firmware Update Success for Control: Mason Radke reported that the recent firmware update should allow them to control values via the enable/disable register, something that was previously uncertain. This functionality was achieved by Mason Radke reading extensive documentation and receiving confirmation from support that the current setup was correct, only requiring the firmware revision (00:36:35).
* Commissioning Schedule: The group tentatively discussed scheduling the on-site commissioning and testing (00:37:33). They concluded that the commissioning would likely happen in about a month, following Mason Radke's travel and an early May project with Kevin (00:38:36).
* Testing Enable/Disable Functionality: Mason Radke performed a test showing that the commands were all enabled after the firmware update and successfully demonstrated setting a command to enabled status (00:39:38) (00:42:14). The consensus was that when a command is disabled, it should trigger the IO fault bit to signal that the data is not live (00:43:31).
* Per-Site Disable Logic: Andy Thomson requested that Mason Radke build a per-site disable function, which would trigger multiple command disabled bits (00:46:02). Mason Radke agreed to implement this logic to trigger disabled bits for all commands associated with an RTU when that entire site is disabled (00:47:03).
* Read/Write Separation for Commissioning: The team discussed the potential benefit of separating read and write disable commands for commissioning purposes (00:47:03). This separation would allow them to maintain read capability (populating historical values) while controlling the control logic (writes), especially during the transition from the old PLC (00:48:22).
* Modbus Polling Interval: Mason Radke confirmed the poll interval was set to 10 seconds for each command, but observed that data was updating faster than expected (00:51:11). Andy Thomson noted that the protocol seems lightweight enough to handle the 10-second interval successfully, which was confirmed by the data updates (00:52:43).
* Project Coordination and Upcoming Tasks: Andy Thomson expressed appreciation for Mason Radke's work, acknowledging the challenges of coordination and their need to adapt their expectations for project agility (00:54:27). Mason Radke agreed to complete the remaining tasks—adding the disable command to the IO fault and implementing per-site disable logic—by the end of the month, or before the 21st, and will provide the necessary bits for SCADA toggling (00:56:00).
* Control Narrative Logic and System Readiness: The control narratives are completed for each instance, specifically referencing the utilization of information provided for SR3 and SR4, which involves looking at tank levels and including a force call feature. The speaker indicates that this work allows them to proceed significantly with their own database requirements, confirming that the messaging they were already using is in place (00:58:13).
* File Sharing and Product Quality: Mason Radke will provide the ACD file and the H3NL file, specifying the need for "four," as well as the Prooft file. Andy Thomson expresses strong appreciation for the quality of the product delivered, noting that it surpasses what they could have done personally and describes it as an excellent fit for the needs of the organization, hoping it becomes robust enough to reduce their own required involvement (00:59:42).
* Work Satisfaction and Improvement: Andy Thomson describes the current work as replacing a decade of prior work they were dissatisfied with, calling the experience cathartic and a significant improvement on past capacity (00:59:42). Mason Radke confirms enjoyment of the work, specifically "making sense of chaos" by organizing data in a way that is understandable and cohesive (01:01:27).
* Importance of Documentation: The speakers agree that proper documentation is critical for project hand-off and success, acknowledging that inheriting projects without such documentation leads to difficulty and potential for being lost (01:01:27). Andy Thomson expresses appreciation that the work was thoroughly tested rather than just being delegated without initial verification (01:02:28).
* Project Outlook and Future Steps: Andy Thomson appreciates the current work, stating they look forward to working out any remaining issues and making the final product aesthetically pleasing on Ignition. The conversation concludes with a general agreement on the direction of the work (01:03:23).
* Reflection on Complexity and Reward: The speakers reflect on the complexity of the work, including figuring out Pro Soft addressing, cards, and the method for reading data, finding satisfaction in turning complex, difficult stuff into a working system (01:03:23). They confirm that the journey and chosen path for the project were the correct ones (01:04:39).
* Concluding Remarks and Follow-up: Mason Radke instructs Andy Thomson to provide updates if anything else arises, suggesting they will add it to the list. The meeting concludes with thanks and goodbyes between Andy Thomson, Mason Radke, and Kevin (01:04:39).
You should review Gemini's notes to make sure they're accurate. Get tips and learn how Gemini takes notes
How is the quality of these specific notes? Take a short survey to let us know your feedback, including how helpful the notes were for your needs.
📖 Transcript
Apr 16, 2026
Cambria Water SCADA Meeting - Transcript
00:00:00
Mason Radke: Can you hear me?
Andy Thomson: Yeah.
Mason Radke: All
Andy Thomson: All right.
Mason Radke: right.
Andy Thomson: Cool. Okie dokie. Admit guess. But let's let Kevin in. Boom. Boom. Yeah. Let's see how it goes in here. Transcribing also nice. Hey man,
Kevin: Hello.
Andy Thomson: today Thursday. All right. Feels like a Monday to me, but hey, how you doing,
Mason Radke: I'm doing good.
Andy Thomson: Mason?
Mason Radke: I got in kind of late last night and my my time zones
Kevin: Oops.
Mason Radke: are all screwed up, a little jetlagged, but otherwise I feel good.
Andy Thomson: Nice. That's what I like going down to Cabo. No time zone changes for most of the year.
Mason Radke: Yeah. Yeah, it's easy.
Andy Thomson: Yeah.
Mason Radke: I also got um not braces, but the the Invisalign retainer things.
Andy Thomson: Yeah.
Mason Radke: So, I've got this this list that's driving me nuts.
Andy Thomson: Yeah.
Mason Radke: So, just it's
Andy Thomson: Oh,
Mason Radke: there.
00:01:52
Andy Thomson: I have one for the rest of my life. So,
Mason Radke: Yeah.
Andy Thomson: you're good.
Mason Radke: Okay.
Andy Thomson: You're in good company.
Mason Radke: Yeah,
Andy Thomson: Yeah.
Mason Radke: I'm I'm getting used to it still.
Andy Thomson: Well, I can't hear it from my end,
Mason Radke: All right.
Andy Thomson: so don't worry about it.
Mason Radke: Good.
Andy Thomson: And I have a very trained ear for such a thing. Anyway, welcome back,
Mason Radke: Thank
Andy Thomson: Kevin. I looked at my my pile of stuff for you.
Mason Radke: you.
Andy Thomson: Um, and another box of uh PoE camera stuff that I remembered I wanted to give you, too. I need to um have you come over and grab
Kevin: Yes,
Andy Thomson: it.
Kevin: let's do that.
Andy Thomson: Here you go. Mason is a real entity again.
Mason Radke: I'm
Andy Thomson: Yeah.
Mason Radke: back.
Andy Thomson: All right, man. Um, I would not expect you to have had time to uh update the firmware on that controller,
Mason Radke: I was just looking for the file that support gave me.
00:02:56
Andy Thomson: but
Mason Radke: I'm connected. I was going to actually do it right now.
Andy Thomson: okay.
Mason Radke: It will take a minute there.
Andy Thomson: Right. Right.
Mason Radke: If I can find the file where I put that thing.
Andy Thomson: Just ask Claude, see where he put it.
Mason Radke: Oh, here it is. I got it. Okay.
Andy Thomson: Yeah, I just had Claude do a um well I I brought him
Mason Radke: Downloads.
Andy Thomson: into this whole like off-grid solar battery charge controller upgrade process and then like all right create a uh you know all the documents create a uh installation process and then it spit out this like very detailed thing and like my I'm having my dad help me like he's not going to read that. So, you're going to have to give me a uh more visual guide. And it it's just it's just beautiful. It's just like that that's so And then I'm like,
Mason Radke: Yeah.
Andy Thomson: "All right, cool. How about you know uh Kevin kind of like like create a
00:04:07
Andy Thomson: um customerf facing document summarizing what what work we're doing and then you
Mason Radke: Heat.
Andy Thomson: know kind of a quick guide for and then it's like oh marketing blah blah blah like no no no operator operator stuff and uh I said
Mason Radke: Thank
Andy Thomson: here use my use my uh logo and make a cool
Mason Radke: you.
Andy Thomson: little you documentation even for myself, right? Like we talked about Kevin with your your your report like what did I do for future me? Um and then some basic stuff for the operator.
Kevin: Right.
Andy Thomson: So it's like it's almost like I like this is like amazing for a stupid job, you know, like it's it's a half day job and nobody cares,
Kevin: Yep.
Andy Thomson: but I'm kind of like practicing with what it can do. And uh beautiful.
Mason Radke: All right, the module is
Andy Thomson: So love
Mason Radke: rebooting.
Andy Thomson: it. Kevin Kevin playing around with
Kevin: I I'm trying to set it so that it's not like zoomed in right my face.
Andy Thomson: Yeah.
00:05:19
Kevin: Nobody wants to see that.
Andy Thomson: Nobody ever has that thought but the person saying it.
Kevin: It's
Andy Thomson: We like seeing your face.
Mason Radke: Hopefully this thing comes back up.
Kevin: probably
Mason Radke: We'll give it a minute.
Andy Thomson: It'll come back up.
Mason Radke: Yeah,
Andy Thomson: It'll come
Mason Radke: I'm sure it's doing its thing.
Andy Thomson: back.
Mason Radke: would be silly if it lost its IP during a firmware update, but you never know.
Kevin: So,
Andy Thomson: Yeah.
Kevin: I I did a uh I went down to the Google Quantum AI facility yesterday. Yep.
Andy Thomson: Really?
Kevin: And got a a tour of the the support systems that uh that you know support the uh chip manufacturing and researching processes. man, simply just mindblowing. And and and I didn't even get to see the cool s***, you know, like the the actual,
Andy Thomson: right?
Kevin: you know, chip manufacturing and all of that, but just walking,
Andy Thomson: Yeah.
Kevin: you know, around, I saw saw into a clean room. I saw into where these uh computers are that actually run the chips, you know, use the chips and uh but just the you know infrastructure that that for the the water and the the
00:07:05
Andy Thomson: Right.
Kevin: the HVAC is just insane. I mean,
Andy Thomson: I imagine. Right.
Kevin: you know, they they have to maintain temperature in these clean
Andy Thomson: Yeah.
Kevin: rooms to like plus or minus one degree or, you know,
Andy Thomson: Yeah.
Kevin: something like that and and you know, air pressure and it's it's wild stuff.
Andy Thomson: I have. Fascinating, man.
Kevin: Yeah.
Andy Thomson: I bet that was pretty cool. Where is that?
Kevin: Uh yes,
Andy Thomson: Can you tell me without having to kill
Kevin: Golita.
Andy Thomson: me?
Kevin: It's it's you know in in you know industries area in in Galita by the airport. I mean they don't have signs up you know that that say
Andy Thomson: Sure.
Kevin: what it is but it's there.
Andy Thomson: Yeah.
Kevin: Yeah it was cool. and Google,
Andy Thomson: Interesting.
Kevin: you know, as a company, even though this is a, you know, much smaller uh campus, you know, from like their their other places, they have the, you know, cafeteria thing and and every building has, you know, fancy coffee machines and and refrigerators with all all these drinks you, you know, want And what you know it's just wild and these you know
00:08:35
Andy Thomson: Yeah.
Kevin: work they've got open you know work work areas m would really like these you know they're just like a coffee shop you know in inside the building and
Mason Radke: Have you guys seen Sil Silicon Valley?
Andy Thomson: Oh yeah.
Mason Radke: That show?
Andy Thomson: Oh yeah.
Mason Radke: f***.
Kevin: I don't think I have but yeah is
Mason Radke: f***. f****** hilarious. I think you'd like it.
Andy Thomson: It's the most clever.
Mason Radke: I think you I think you'd like it,
Andy Thomson: Yeah. Very funny.
Kevin: Oh yeah,
Mason Radke: Kevin.
Kevin: I'll check it out.
Andy Thomson: I think you have to now now that you've like walked in the world.
Kevin: Yeah, now that I've lived the experience.
Andy Thomson: Yeah.
Mason Radke: Yeah.
Andy Thomson: It is. It's so so funny. It's like nerdy to where like my wife watched it.
Kevin: Cool.
Andy Thomson: I mean, that's even fair. Like she watched it for a while and it was still very very nerdy. But so so funny, man. Yeah, I gotta rewatch that now.
00:09:36
Mason Radke: Yeah, I just went through it
Andy Thomson: There's even like AI stuff like a clip that came back like Gilfoil made a uh
Kevin: Yeah.
Mason Radke: again.
Andy Thomson: an AI version of himself and it's like that was like years ago and it's so funny.
Mason Radke: Yeah.
Kevin: Oh,
Andy Thomson: Kamale Nani, I mean he became big after that and he's fantastic everybody.
Kevin: wow.
Andy Thomson: Yeah.
Mason Radke: All right.
Andy Thomson: Yeah, I'm gonna pull that
Mason Radke: Not not sure what's going on with the firmware thing,
Andy Thomson: up.
Mason Radke: but I can work on that later.
Andy Thomson: Let's assume it works and kind
Mason Radke: Yeah. Yeah. I'm trying to trying to upload the file out.
Andy Thomson: of
Mason Radke: It came back online, but I'm trying to grab the config out of it,
Andy Thomson: Okay.
Mason Radke: and it's stuck. So, I don't know. I'm just going to give it some time to do it
Kevin: Have you have you updated your um your file for
Mason Radke: thing.
Andy Thomson: Yeah.
Kevin: this the um Google doc with all your check marks and and everything or is that something we're not worrying about your uh this is is
00:10:41
Mason Radke: Google Doc with check marks.
Andy Thomson: Heat.
Kevin: is Andy's uh the one It's ignition phase
Mason Radke: Oh. Oh,
Kevin: three.
Andy Thomson: Right, right,
Mason Radke: right.
Kevin: Uh all the project outline and
Andy Thomson: right.
Kevin: what's done, what's what's not done. Uh I did go through the uh control strategies. I didn't see see anything off. Um all seems pretty normal stuff.
Mason Radke: good because I just ran with it. Figured we could tweak it if there was anything that came up,
Kevin: Yeah.
Andy Thomson: Yeah,
Mason Radke: but I just wanted to keep going.
Andy Thomson: I mean it was nothing nothing really complex. So,
Mason Radke: No.
Andy Thomson: right.
Mason Radke: All right.
Andy Thomson: Cool.
Mason Radke: Can you guys see my screens? Okay.
Andy Thomson: Yeah.
Mason Radke: So, this is going to be your tool for integrating all the work I just did into SCADA. So, there's three tabs at the top.
Andy Thomson: Okay.
Mason Radke: There's a pack object view, the pro soft command view, and then a SCADA integration tab.
00:12:04
Andy Thomson: Yeah.
Mason Radke: So on the PAX object view, it's broken down between the the LS, the XT, and MT objects. So So if you select the LS,
Andy Thomson: Great.
Mason Radke: uh they're broken they're grouped by site as you can see here. Uh so ls1100 you can see it using it's using prooft command client one command 4 just in case we need to reference the config in prooft to do some troubleshooting that's where that value
Andy Thomson: Okay.
Mason Radke: comes from the actual tag the actual tag in the PLC is listed
Andy Thomson: I love it. Right. Right.
Kevin: It's
Mason Radke: there the com fail alarm bit is listed there little
Kevin: okay.
Andy Thomson: Great.
Mason Radke: description and then if you open it up it kind of shows the same thing.
Andy Thomson: Oh, beautiful.
Mason Radke: So that's all.
Andy Thomson: Okay.
Mason Radke: Yeah, you can see all the proaf commands, all the PLC tags that will be referenced for each of the plant packs objects.
Andy Thomson: Okay. Nice.
Mason Radke: Uh transmitters, I mean same thing.
00:13:04
Mason Radke: Um there's a float tag array. So the pro soft command comes in in two words which gets converted to this float
Andy Thomson: Okay.
Mason Radke: value. That's the actual float tag in the PLC.
Andy Thomson: Right.
Kevin: Thank
Mason Radke: Uh that's the pro soft command that brings it in. So there's actually two for each of these analogs.
Kevin: you.
Mason Radke: It'd be 155 and 156. But it list Yeah.
Andy Thomson: If one happens, the other has to. They're going to be
Mason Radke: So this is just the first of the two words.
Andy Thomson: this.
Mason Radke: So 155 and 156 make up that float value. Uh the opto slot and channel slots of slot six AI zero.
Andy Thomson: Yeah.
Mason Radke: The com fail alarm bit. So kind of just the same thing. Um, motors, same thing, but there's a little bit more going on. So, for each motor object,
Andy Thomson: Sure.
Mason Radke: it shows the parameter, the PLC tag, the slot and channel, and the opto. And I guess here it doesn't tell you what pro soft command brings that in as on these other tabs.
00:14:17
Mason Radke: So that's going to help you. Oh, and then like the input fail bit shows it's the uh that or object and the three things that are feeding into it.
Andy Thomson: Right.
Mason Radke: um the interlocks and which bits are being used which is all done in the PLC. This is just for reference.
Andy Thomson: Okay. That was my second
Mason Radke: Yeah.
Andy Thomson: question.
Mason Radke: Yeah. Yeah. Uh command view. So this is the pro soft command. So there's you can do 16 commands per client. We've got two clients almost filled out full of commands. So if you click on one of them for example it shows the IP address
Andy Thomson: Okay.
Mason Radke: um the comfail alarm bit that associated where in the PLC data array that data lives. Uh this is the enable disable register. This is what the firmware updates going to make work for us.
Andy Thomson: Oh,
Mason Radke: So this bit being true or false enables this command.
Andy Thomson: okay.
Mason Radke: And then this command inside of it looks like this one only has only feeds into one object.
00:15:27
Mason Radke: It's ls1452 some but for the others there'll be multiple packs objects that that command supports tells you which slots slots zero through C 0 through three digital inputs. Um the actively used inputs are slot one DI2 which looks like our Stewart generator emergency power bit.
Andy Thomson: Yeah.
Mason Radke: So for each command you can kind of see what is brought in on that mod bus
Andy Thomson: Yeah.
Mason Radke: command in the pro soft configuration. Again really just for reference but there's so much going on. If we get a few years down the road and have to troubleshoot something,
Andy Thomson: Yeah.
Mason Radke: we're going to be very happy that we have this.
Andy Thomson: Um, yeah. You know, we've we've all been on both sides of that and I'm like,
Mason Radke: Yeah. Yeah.
Andy Thomson: this is gold. And the thought that I had, and I didn't want to interrupt you, is like,
Mason Radke: Yes.
Andy Thomson: you realize you've created a problem for yourself that why would I do this any other way in the future?
00:16:33
Mason Radke: Yeah. Oh,
Andy Thomson: And why would I not have Mason do this to pass water?
Mason Radke: yeah.
Andy Thomson: and and doc just the documentation of it that's navigable. I wish I had this right for what for what I've
Mason Radke: Yeah, I I originally started putting together a document and then once I got to page like 40,
Andy Thomson: done.
Mason Radke: I'm like, this is useless.
Andy Thomson: Yeah.
Mason Radke: There's no way it's going to be useful.
Andy Thomson: Right.
Mason Radke: Um, so this this made more sense. Um,
Andy Thomson: Yeah.
Mason Radke: so on the command view, there's also the float tag arrays, just more information. So Steuart tank level you can see is FT RTU1400
Andy Thomson: Very nice.
Mason Radke: 2 just more data um digital tags. Oh, there's
Andy Thomson: Yeah.
Mason Radke: this I think just a different way to look at the same data transmitters which float value which pro soft command description com fail alarm bit associated with it.
Andy Thomson: Right. Beautiful.
Mason Radke: So then over on the SCADA integration tab uh again broken down by site.
00:17:42
Mason Radke: Um, so also two two different ways to look at the same data again. So broken down by site if you're looking for it that way or grouped by type. So comm fail delay set points. These are the inside of that that UDT that I created. These are the set points and what they what they do.
Andy Thomson: Mhm.
Mason Radke: So,
Andy Thomson: Got
Mason Radke: COMM rtu 1100 set point0 is the comm fail for
Andy Thomson: it.
Mason Radke: command or client one command 4.
Andy Thomson: Yeah.
Mason Radke: Um, and this is the delay in seconds that to 60 seconds. It's going to wait 60 seconds before the comm fail alarm,
Andy Thomson: Okay.
Mason Radke: which is the third one down. And that's the actual bit that tells you whether it's in com fail or not. So while you're integrating these are your set points if you want to look at that. Um stale data timer delay.
Andy Thomson: Okay.
Mason Radke: So this is these set points are how long it takes before it considers the data stale for any of the float values.
00:18:48
Andy Thomson: Um,
Mason Radke: Again in seconds you can set it to six.
Andy Thomson: hang on. We talked about this.
Mason Radke: Yep.
Andy Thomson: Uh, and is this what you used? You were you were not sure how you were going to do stale data or how you were going to do like flatline, you know,
Mason Radke: Yeah.
Andy Thomson: is this what you landed on?
Mason Radke: I Yes.
Andy Thomson: Is this representing the like tank flatline situation?
Mason Radke: So, and any of the analog values now have a stale data logic with a set
Andy Thomson: Okay.
Mason Radke: point. Um,
Andy Thomson: Is that is that within the pack object or did you write that
Mason Radke: so if that value doesn't change, no,
Andy Thomson: outside?
Mason Radke: it's out outside.
Andy Thomson: Good. I do prefer that.
Mason Radke: But I think I think the um I think the stale
Andy Thomson: Yeah.
Mason Radke: data no just calm fail.
Andy Thomson: Yeah.
Mason Radke: Um I don't think that stale data alarm bit is used anywhere yet like
Andy Thomson: Sure.
00:19:42
Mason Radke: interlocks or anything but it's there to do whatever we want with.
Andy Thomson: But I mean we have two other types of input failures mapped to the object.
Mason Radke: Yeah, it could even just be an an alarm on ignition like,
Andy Thomson: Yeah. Right.
Mason Radke: hey,
Andy Thomson: Right.
Mason Radke: this this value hasn't changed in 10 minutes or an hour,
Andy Thomson: Right.
Mason Radke: a day or whatever makes sense.
Andy Thomson: Yep. Yep.
Mason Radke: All right. So, yeah, com fail delay.
Andy Thomson: Sorry to interrupt sale data.
Mason Radke: That's okay. Stale stale data delay set points com fail alarm bits.
Andy Thomson: Yep.
Mason Radke: There's a com fail alarm bit for each command.
Andy Thomson: Mhm.
Mason Radke: As you can see stale data alarm bits.
Andy Thomson: Mhm.
Mason Radke: So for each analog value if that bit goes high the value is stale.
Andy Thomson: Okay.
Mason Radke: Um error count. So for each message if that message goes into error it starts counting
Andy Thomson: Yeah. Yeah.
Mason Radke: up.
Andy Thomson: Yeah.
00:20:41
Mason Radke: And this is the value that holds that error count for each command. uh last error code for each command. So the Modbus error code gets stored in there for each command.
Andy Thomson: Beautiful.
Mason Radke: Um so I have error counts which is a grand total and then I just went ahead and did error counts
Andy Thomson: Mhm.
Mason Radke: for today and yesterday. So you can see if it's you know if we trend that we can say hey we had a bunch of errors yesterday and the day before it's starting to come down now or it's just useful information
Andy Thomson: Right.
Mason Radke: to see how much how many times that message was aired out today or yesterday
Andy Thomson: Right.
Mason Radke: versus that giant grand total number after a while is not going to make a whole lot of
Andy Thomson: Yep.
Mason Radke: sense.
Andy Thomson: Right.
Mason Radke: Um, and that's it. I mean, if you go by site, you can see um, so it's broken down by command for each site. So if we go rodeo grounds, we can see client one command 10 which covers modules 9 and 10. Uh these are the OB plant patch objects that are associated with that command.
00:21:54
Mason Radke: So we've got MT2101 input run feedback input fail 21102 and then down below anything that's associated.
Andy Thomson: Yep.
Mason Radke: So we got fail delay set point for that command the error count the last error code error count at midnight which is really just a behind the scenes number you
Andy Thomson: Yeah. Yeah. Right. Right.
Mason Radke: don't that one error count today yesterday and then the comm
Andy Thomson: Right. Starting value
Mason Radke: fail alarm bit so it's broken down by command that's used at each site on this particular
Andy Thomson: Okay.
Mason Radke: tab uh lot lot of
Andy Thomson: Okay. Beautiful.
Mason Radke: code. There's a lot of there's a lot of code, but it's uh it feels good.
Andy Thomson: Yep.
Mason Radke: I think I think it's clean.
Andy Thomson: I mean, it's it just it's worth it, man. I it's it's a weird well it's not it it you
Mason Radke: Yeah.
Andy Thomson: know you spent so much time on kind of the ob like the the you know the logic the operating turning on and off the pump and it's like yeah it it's such an it's it's a common thing to not follow through on but until you you know you live years with a system and you're like man I'd really like to know.
00:23:17
Andy Thomson: You know, this is the back end. This is the years into the other system being like this is really what I'm most excited about than making a f****** pump turn on. We can do that. Knowing why it didn't is far more interesting to me.
Mason Radke: Yeah.
Andy Thomson: And uh so yeah,
Mason Radke: Can you guys see the the logic on the screen
Andy Thomson: I'm I'm pretty stoked.
Mason Radke: now?
Andy Thomson: Yep.
Mason Radke: Um, see if there's anything interesting here. No, nothing really interesting here. Um, so under task C, I added a new, let's see, what are they? Programs called. So I broke out the control into its own little thing just to organize it a little bit better. There's not a whole lot of logic per site. So, if we need anything more, that was one thing I wanted to confirm with Kevin, like if there's any other pressure switches. I mean, I guess that would be brought in as an interlock, but but it's it's pretty basic.
00:24:33
Mason Radke: We're comparing an analog value against a set point,
Andy Thomson: Mhm.
Mason Radke: you know, a tank level. If that tank level drops, we energize the input call. We have a force call bit according to the narrative. So that will regardless of where we're at with set points that will energize that output.
Andy Thomson: Yeah.
Mason Radke: And if the tank level rises and we're not telling it to force, you know, stop the pump.
Andy Thomson: Um, are we latching that call? No, but it's a momentary Well,
Mason Radke: Yeah. Oh,
Andy Thomson: okay.
Mason Radke: you mean on the what's it expecting?
Andy Thomson: Yeah. Yeah. So it it's expecting on the on
Mason Radke: Yeah.
Andy Thomson: the I can't point to it left side a momentary uh call bit and then that will lack a call All
Mason Radke: So, well, let's look at this 1501.
Andy Thomson: right.
Mason Radke: Is that done in the pack object at all? like we give it the input call. Is there a setting in there where it's like no?
00:25:47
Andy Thomson: No, no, it it No,
Mason Radke: Okay. So,
Andy Thomson: it it's a opposite.
Mason Radke: we want to pulse the input call. Yeah.
Andy Thomson: I think the way that you have it is correct.
Mason Radke: How does that
Andy Thomson: Um, I think what I meant is before that gets set in ignition,
Mason Radke: gotcha?
Andy Thomson: I have to either latch that what your mouse is over that
Kevin: Horse
Andy Thomson: bit. Oh, my my mouse,
Mason Radke: Yeah.
Andy Thomson: sorry. Left side uh on the that one uh force call
Mason Radke: Oh,
Andy Thomson: bit.
Mason Radke: right. Oh,
Andy Thomson: So whether or not that's expected to be a momentary or latch and it appears to be
Kevin: go.
Mason Radke: yeah. Gotcha.
Andy Thomson: momentary.
Mason Radke: I program I programmed it as a toggle.
Andy Thomson: Okay, that's my question.
Mason Radke: So like you turn on the force call, latch it essentially,
Andy Thomson: Okay.
Mason Radke: and that pump's going to run until you release it.
Andy Thomson: Okay. Well, the idea is to trick it on or to um like not have it wait until it drops below the set points.
00:26:59
Mason Radke: Yeah.
Andy Thomson: Um no, I mean,
Mason Radke: Yeah.
Andy Thomson: but the way it's written, it latches, but I guess your your
Mason Radke: Oh, yeah. Let You're right.
Andy Thomson: normal
Mason Radke: Let me look at this. Release the course.
Andy Thomson: uh if you remove
Mason Radke: Nothing's going to unlatch it.
Andy Thomson: that it right Kevin?
Mason Radke: I need to do Yeah,
Andy Thomson: You know what I'm trying to do where like you're just trying to kick on the
Mason Radke: I see what I see what you're saying. I
Andy Thomson: well and not have to change the set points to get it to come on and just
Mason Radke: think
Andy Thomson: give it a uh I mean it's kind of like a ska hand and then clicking over to skate hand to turn it on and then click back to ska auto. Um, which essentially is how that
Mason Radke: Well, the only well the way this is going to work is if you release that force call, it's not going to stop the pump until it goes above your stop set point.
00:28:01
Andy Thomson: That's how I'd like it to
Mason Radke: Okay,
Andy Thomson: work.
Mason Radke: then that's how it's set up. It's like a it Yeah, it's a force call. But just releasing that force call won't immediately stop it. It's going to wait for that set point for it to go across set
Andy Thomson: Uh I'm I'm really bad with the inverse logic that that normally
Mason Radke: point.
Andy Thomson: closed uh that won't drop it out if it if that
Mason Radke: No.
Kevin: Wait,
Mason Radke: What?
Andy Thomson: turns
Mason Radke: So if we Yeah. So,
Andy Thomson: Isn't it like perpetually not able to be on the way that that's written?
Mason Radke: so if you energize this force call bit, this rung is now false. So, it's not going to be unlatching the call. And regardless of our set point,
Andy Thomson: Okay.
Mason Radke: it's going to be energizing and latching the call.
Andy Thomson: Right.
Mason Radke: So then if you release this, our call bit's still going to be latched. And now this is true trying to unlatch it.
00:29:12
Mason Radke: But this also has to be true, which means the tank level has to rise above set point. And then this rung would execute and it would release the the call.
Andy Thomson: Good. Okay,
Mason Radke: Yeah.
Andy Thomson: that's how I want it to work.
Mason Radke: Yeah.
Andy Thomson: So,
Mason Radke: Yeah.
Andy Thomson: very good.
Mason Radke: Um the pumps that were lead lag.
Andy Thomson: Yeah.
Mason Radke: Let me find one
Andy Thomson: Steuart
Mason Radke: Stewart.
Andy Thomson: or
Mason Radke: Um I went ahead and did the whole LLS which which
Andy Thomson: Okay, that's good. uh you
Mason Radke: does all the auto rotation.
Andy Thomson: know
Mason Radke: It does the it just it gives us a lot with a lot less programming. So it made sense.
Andy Thomson: and I'm standardizing to use it so
Mason Radke: Yeah.
Andy Thomson: Good.
Mason Radke: And then Yeah. So those are the duplex. Um get into the tags. There is an enormous amount of comments. So everything's
Andy Thomson: You had to do that yourself,
00:30:37
Mason Radke: commented.
Andy Thomson: right? Claude can't comment in there.
Mason Radke: Um I did most of them myself and then eventually we do a tag export which is just XML and then I had it help me with
Andy Thomson: Okay.
Mason Radke: description and B back ends. I didn't think about that until like threequarters of the way through
Andy Thomson: All
Mason Radke: um com RTU.
Andy Thomson: right.
Mason Radke: No, that's just your com fail bit. So each one set points. Yeah. So each one of these which is that custom data type that I work with um is commented. So each set
Andy Thomson: Okay. So, you're doing a uh what is that data type?
Mason Radke: point
Andy Thomson: You're um MCR for
Mason Radke: yeah PC just process control
Andy Thomson: Okay.
Mason Radke: or all the com fail
Andy Thomson: for the COM. Okay.
Mason Radke: logic.
Andy Thomson: And you also have one for the process control like a separate instance running.
Mason Radke: Yes. Yeah. So, there's control RTU 1500,
00:31:55
Andy Thomson: Right.
Mason Radke: which is the process control tag for that RTU.
Andy Thomson: Okay. Beautiful.
Mason Radke: Yeah. But then, yeah, then for all the COM stuff, each RTU has its own set of set points and timers. And so, each of these timers Yeah.
Andy Thomson: Yes. No, no, that's that's great. I mean, it really way better. I mean, it'd be kind of difficult to separate that from
Mason Radke: Yeah. So each timers each timer has its descriptions in there.
Andy Thomson: them.
Mason Radke: Everything's commented. Everything's grouped cleanly. I feel good about how it came together.
Andy Thomson: Me too. Looks beautiful. Yeah.
Mason Radke: So I also I had um this in a in an .exe version.
Andy Thomson: Sure.
Mason Radke: I was think I'll just send you the .exe and then you can like run it on your computer, but it wasn't quite formatted as cleanly. So, I think I'll just give you the HTML.
Andy Thomson: Yeah.
Mason Radke: Yeah.
Andy Thomson: Getting getting more and more used to that with odds.
00:33:19
Andy Thomson: So,
Mason Radke: Yeah.
Andy Thomson: um that'd be great. That'd be great. Um yeah, man. This is Fantastic. It's beautiful. Really happy with how that turned out. I know even utilizing Claude with everything, that's a lot of work and a lot of a lot of work to get right.
Mason Radke: Yeah.
Andy Thomson: So that's that's I mean really
Mason Radke: Yeah.
Andy Thomson: important and uh looks looks really well done. So yeah, thank you, man.
Mason Radke: Yeah. No problem. Of course.
Andy Thomson: I will, you know, even for me knowing what I'm looking at, it's a lot to look at.
Mason Radke: Yeah, there's a lot there's a lot going
Andy Thomson: And uh it's kind of weird, man.
Mason Radke: on.
Andy Thomson: like uh until we, you know, get a thing in front of multiple people, getting some sort of objective, you know, analysis of how complicated a thing is, my my brain is always like, this is so dumb and, you know, simple and, you know, I'm sure there's so much more comp and it's like, yes, there always is more complex stuff, but, you know, you can you can invalidate some very complicated stuff and it's like,
00:34:39
Mason Radke: Yeah.
Andy Thomson: yeah, this is hard. There's a lot going on here. There's a lot to keep track of and uh you
Mason Radke: Oh, it works.
Andy Thomson: know we like
Mason Radke: Okay.
Andy Thomson: that.
Mason Radke: Yeah.
Andy Thomson: How do you feel about the Prooft?
Mason Radke: So,
Andy Thomson: I mean is there any other way? I mean the Prooft modules are kind of like my gold standard for communication protocol stuff.
Mason Radke: I think it's I think it's great. I mean,
Andy Thomson: Yeah.
Mason Radke: it's really confusing at first the way they do these these addresses and how they correlate to the tag and the PLC,
Andy Thomson: Yep.
Mason Radke: but once you once you have an understanding, it's it's great.
Andy Thomson: I've done it with a a Microlologgic controller
Mason Radke: I think microlologges can actually do Modbus TCP natively.
Andy Thomson: like Yep.
Mason Radke: Yeah. Is that what you're saying? Yeah.
Andy Thomson: Yep.
Mason Radke: Yeah.
Andy Thomson: and RTU natively,
Mason Radke: Yeah.
Andy Thomson: right?
Mason Radke: Yeah.
00:35:38
Mason Radke: Yes.
Andy Thomson: So I I have the Yep.
Mason Radke: Over serial
Andy Thomson: the serial port to a pro a Phoenix contact Modbus
Mason Radke: port.
Andy Thomson: radio. And you know, I mean, we're both we're all kind of a little more familiar with like a compact a control logic Jesus um microlologgic data
Mason Radke: microlologgic. Yeah.
Andy Thomson: mapping and stuff. So, it still makes more sense to me.
Mason Radke: Yeah.
Andy Thomson: Um
Mason Radke: I've done a handful of projects where we just use the ML1400 just for Modbus stuff and then we're messing it over to control
Andy Thomson: I mean, people look at me or who was it?
Mason Radke: objects
Andy Thomson: Corollo was like, "Why why do you have a 1400 doing that?" I'm
Mason Radke: because it's a great way to do
Andy Thomson: like,
Mason Radke: it.
Andy Thomson: "I wish you were there to not make me feel stupid at the time." Um,
Mason Radke: So,
Andy Thomson: yeah.
Mason Radke: so all the right bits are disabled and you know with that firmware update that
00:36:35
Andy Thomson: Got it.
Mason Radke: that just went in, we should be able to control these values from
Andy Thomson: Yeah, I didn't know if we were even able going to be able to do that. So, that's great news.
Mason Radke: I mean it was tricky. I had I had to set up this data map thing which pulled from like really crazy
Andy Thomson: Yeah.
Mason Radke: high addresses in in the internal database.
Andy Thomson: Yeah. Like internal.
Mason Radke: Yeah.
Andy Thomson: Mhm.
Mason Radke: And then these m these are the addresses in the PLC that it maps them
Andy Thomson: Don't you think like these people that make these products are are probably
Mason Radke: to.
Andy Thomson: like, "Man, I didn't know you could do that." Like when we're t, you know, tapping into some highle s***
Mason Radke: Yeah. In fact, I like I was reading the documentation, reading the documentation, and I had this thing set up perfectly. I ran every test I could.
Andy Thomson: That
Mason Radke: I'd flip the bit in the PLC. I'd go to the diagnostics database in the pro soft module.
00:37:33
Mason Radke: I'd see the value change, but the command wouldn't disable. I was like, everything was in place. And I reached out to them and he's like, "Yeah, you have the setup absolutely perfect. You're just one minor firmware revision behind from when we when we enabled it
Andy Thomson: wow. Wow.
Mason Radke: or put it into service." So,
Andy Thomson: Yes.
Mason Radke: he was he was actually really helpful. He's like, "Here's the file you need. Just flash it and your code will work exactly as it is.
Andy Thomson: Ah, that's a good feeling when that when that
Mason Radke: Yeah. Yeah.
Andy Thomson: goes.
Mason Radke: Um, but we still need to test it because I did just literally flash
Andy Thomson: Sure.
Mason Radke: it.
Andy Thomson: I would imagine this is a a short list of days that I would you be down to do on-site test when we commission this thing?
Mason Radke: What are you thinking?
Andy Thomson: I don't know.
Mason Radke: Yeah.
Andy Thomson: Uh more you know I I can be more more flexible. I because I have work to do now before that happened.
00:38:36
Mason Radke: Yeah.
Andy Thomson: So,
Mason Radke: Yeah.
Andy Thomson: it's not going to be within a few weeks is off the top as if I could
Mason Radke: Okay,
Andy Thomson: immediately work on this.
Mason Radke: that that sounds fine.
Andy Thomson: So, it'll probably be in a month if I had to
Mason Radke: I mean, I'm on the road for another couple of weeks and then Kevin and I have a fairly good size
Andy Thomson: guess.
Mason Radke: on-site commissioning thing to get through early May and then Yeah. And then I think that should work
Andy Thomson: Okay. Okay. Because um yeah, I have similar similar schedule.
Mason Radke: out.
Andy Thomson: So mid dudes, we're halfway through April. What the hell? Do you guys all have uh end of fiscal year, end of June stuff deadlines like I do? or how do your your customers all my customers basically their fiscal year ends
Kevin: Yes.
Andy Thomson: then so it's not always crazy
Kevin: Yeah,
Andy Thomson: but
Kevin: it's basically the same for us.
Mason Radke: Oh, look. Look at this.
00:39:38
Mason Radke: They're all enabled.
Andy Thomson: yeah
Mason Radke: They're all enabled zero, which is a good sign. Uh let me let's test this real quick. So what are our enabled bits? See, I'm even lost in this thing. Where are the enable bits?
Andy Thomson: I know, right? It's hard because it's all important stuff.
Mason Radke: I thought about putting a a search bar up here.
Andy Thomson: Like every piece of this is important in its own
Mason Radke: Yeah, I might add a little search bar thing,
Andy Thomson: way.
Mason Radke: which would be helpful.
Andy Thomson: Yeah.
Mason Radke: Um,
Andy Thomson: Yeah.
Mason Radke: so it's not here. Delay, stale, com fail, error count. It should be It should be here. I'll add it to that. But,
Andy Thomson: Okay.
Mason Radke: uh,
Andy Thomson: Yeah.
Mason Radke: oh, I think it's going to be I think I know where they're at. I think it's going to be for each
Andy Thomson: Is it one of
Mason Radke: RTU settings.
Andy Thomson: your
00:41:09
Mason Radke: No, not
Andy Thomson: if you you you throw me off with uh the the binary
Mason Radke: settings.
Andy Thomson: or discrete setting, which makes I think it is a setting, right? The setting is a discrete.
Mason Radke: It's just on or off. It's a yes or no. It's probably where I should have put it,
Andy Thomson: Yeah.
Mason Radke: but um Oh, I know how to track it down. I know how to track it down. So, here they are. Command zero, command one, enable. Those are only enable bits.
Andy Thomson: Yep.
Mason Radke: I don't think they're mapped anywhere else, actually. Let's check one. No.
Andy Thomson: No,
Mason Radke: So they're not mapped anywhere else.
Andy Thomson: because it's basically an HMI SCADA.
Mason Radke: Yeah. So if we want to enable client zero command
Andy Thomson: Right.
Mason Radke: one, we should just be able to set it to a one.
Andy Thomson: Now for the process,
Mason Radke: Client zero. Look at that.
Andy Thomson: the process will basically Yeah,
00:42:14
Mason Radke: Command zero is now enabled. Yeah. Perfect.
Andy Thomson: that's a read,
Mason Radke: It's gonna work. Yeah.
Andy Thomson: right?
Mason Radke: I hope so. Actually, turn it off just in case. Yeah.
Andy Thomson: Okay. Yeah.
Mason Radke: Slot zero to one
Andy Thomson: Okay. Okay.
Mason Radke: read.
Andy Thomson: So the process will know that that is disabled.
Kevin: Peace.
Andy Thomson: How
Mason Radke: Um, right now stale.
Andy Thomson: it will know by a failure or stale. Okay.
Mason Radke: Uh,
Andy Thomson: Because it's not failing because it's disabled.
Mason Radke: right. We could tie we can tie it in
Andy Thomson: Now, do do we want that?
Mason Radke: somewhere.
Andy Thomson: I'm trying to think operationally. Someone wants to disable um gosh, when would this happen? So, they're doing maintenance or something. They want to disable the site which will require disabling that block of reads and a block of
Mason Radke: Mhm.
Andy Thomson: writes, right? Um I'll probably write some code to group those um
00:43:31
Mason Radke: Mhm.
Andy Thomson: commands because no one's no one but me is going to want to individually disable the read and writes.
Mason Radke: All right.
Andy Thomson: So that
Mason Radke: So for a discrete for example,
Andy Thomson: happens.
Mason Radke: we've got the IO fault linked to the com fail, but if it's disabled, we could also have it light up the IO
Andy Thomson: It's not Am I thinking about that correctly?
Mason Radke: fault.
Andy Thomson: It's false because it's disabled. It's not failing in any way.
Mason Radke: Correct. Yeah.
Andy Thomson: Okay.
Mason Radke: And I'm saying we could add it here as an or. So if that command is disabled or it's in com fail,
Andy Thomson: Yeah. Correct.
Mason Radke: it it could trigger that. It's just however we
Andy Thomson: Okay. I'm I'm making sure that that's Do we want it to fail when it's
Mason Radke: decide.
Andy Thomson: disabled?
Mason Radke: Yeah.
Andy Thomson: Is that the right like mentality? No. Right. You mean you want it to be like not ready.
00:44:30
Mason Radke: Well,
Andy Thomson: You want a motor to be not ready,
Mason Radke: it's not going to be it's it's not live data. So,
Andy Thomson: right?
Mason Radke: even if it's a level switch, you want somehow to know that hey, this switch is not in service on SCADA.
Andy Thomson: Yeah. Yeah. I think we do, right? I think we basically tie that into the fail.
Mason Radke: Yeah.
Andy Thomson: That's appropriate. We need them to know that that's not normally operating. Um,
Mason Radke: Yeah.
Andy Thomson: do do we do this in a grouped way like I said with the um uh individual commands linked to their corresponding value like or um disabling an entire site. would like do we support the ability to disable individual commands? Is that harder or easier than the method you're going to do it? Do you get what I'm saying?
Mason Radke: Um,
Andy Thomson: Because you can you can you can do this in a way that that specific command will be mapped to the objects that are referencing it only.
00:46:02
Andy Thomson: But because uh the practical reality is I'm going to have to disable coms to an entire RTU,
Mason Radke: which is going to trigger multiple bits. All the commands going to that site,
Andy Thomson: right?
Mason Radke: right?
Andy Thomson: So, uh is it any easier to to just do that in in the way where if RTU 21 is disabled then uh reference that or just the same amount?
Mason Radke: I think it's the same amount the same amount of work. Yeah.
Andy Thomson: So let's leave it individual and then it'll take care of itself when it's when the commands are
Mason Radke: Yeah.
Andy Thomson: are we. So let me confirm that you agree that like that's how you would do it. Basically if that um RTU 21 is disabled then you know maybe write ladder that triggers all of the commands to uh on or off. Enable or disable would do that.
Mason Radke: Do you want me do you want me to build that? Do like a per site disable and then it would trigger multiple disabled bits.
00:47:03
Andy Thomson: Take my money, man. Yep.
Mason Radke: Okay.
Andy Thomson: Please.
Mason Radke: per site and
Andy Thomson: Please.
Mason Radke: disable.
Andy Thomson: Um, do we do is there any function to uh separating read and write when you're doing that?
Mason Radke: Um,
Andy Thomson: It doubles it, but not terribly.
Mason Radke: you want to say just disable write commands or just disable read commands.
Andy Thomson: I I'm just having a thought. Can anybody think of why that would be
Mason Radke: Uh,
Andy Thomson: helpful?
Mason Radke: if you don't want the the main PLC to be able to start or stop any pumps, it's like another safety,
Andy Thomson: But but still be able to read.
Mason Radke: I guess,
Andy Thomson: Why separate that
Mason Radke: but still be able to still be able to get like live tank
Andy Thomson: function?
Mason Radke: levels.
Andy Thomson: Is there a situation where uh I mean no like there's not a situation where comms wouldn't be able to write but it would be able to read
Mason Radke: Oh, in a like a situation,
Andy Thomson: for testing.
00:48:22
Andy Thomson: it makes sense for us.
Mason Radke: right?
Andy Thomson: So maybe just for us. I don't know. I'll let that kind of be up to you if you're like, "Dude, that's that's kind of more work than we thought about. Let's just do it sight by sight. I don't know how we would necessarily do the commissioning where we could have it be running read only which is what it's been doing until you just map to the disable it's been reading.
Mason Radke: Right. Yeah.
Andy Thomson: So um we could leave everything reading today right and then it's it's populating historical values and all that and then we basically commission the the control disable the old PLC.
Mason Radke: Yeah.
Andy Thomson: So I think that might be our our primary reason to do
Mason Radke: Yeah. So, now that we've got that firmware update in,
Andy Thomson: that.
Mason Radke: I need to put all the right commands back or read, I mean,
Andy Thomson: Yes. Yes. I mean you're going to write the code.
Mason Radke: because otherwise the values are going to
00:49:24
Andy Thomson: You're going to write the code to do that though. So just let it
Mason Radke: Yeah, I mean it'll only take a minute, a second to go through these.
Andy Thomson: Sure. Sure.
Mason Radke: Um, read read read. This one's a right. We'll leave that as zero. Right. Lead. Right lead.
Andy Thomson: What's happening with those?
Mason Radke: I think just because it's a slow connection over VPN. Uh read read
Andy Thomson: Okay.
Mason Radke: read.
Andy Thomson: Yeah, Kevin. I mean, I don't feel like you would necessarily have to be there, but it might be kind of nice to have you out and we could all, you know, socially grab lunch and kind of make a thing of it whenever we do
Kevin: I could probably show up. Let me check my my
Andy Thomson: this.
Mason Radke: Well,
Kevin: calendar.
Mason Radke: we haven't we haven't decided on a date yet, have we?
Andy Thomson: No.
Mason Radke: Yeah. All right. So,
Andy Thomson: No,
Mason Radke: now those should all be good.
00:51:11
Mason Radke: Let's check here.
Andy Thomson: you're invited.
Mason Radke: Oh, beautiful,
Kevin: Thank you.
Mason Radke: beautiful. Let's go. Client one mod bus commands. Beautiful. Uh, function 15 15 by 15. Perfect. So, now let's see some data updating X2. 8745 469 did.
Andy Thomson: There it goes.
Mason Radke: Oh, it did. It's f******
Andy Thomson: I did. Mhm.
Mason Radke: beautiful.
Andy Thomson: Yep. Amen, brother.
Mason Radke: Almost almost like we knew what we were doing. Okay. What
Andy Thomson: Uh,
Mason Radke: else?
Andy Thomson: I'll I'll take the interval to uh I Yeah, I appreciate that. I feel like my No,
Mason Radke: I've got it at Yeah. Go ahead.
Andy Thomson: no, you're good. You got something more interesting.
Mason Radke: Oh, I was going to say I I set it to 10 seconds each, but it sure seems to update a lot faster than that. So, I might have to do a little research.
Andy Thomson: What unit that
Mason Radke: Well, I've done some deep research on the like that should be 10 seconds,
00:52:43
Andy Thomson: is?
Mason Radke: 100. But I'm wondering if maybe I just need to see how that poll interval inter interval works because how could it go through 22 23 commands? I mean it would only update every 5 minutes, every four minutes, but we're getting updates like every 10 seconds. So I don't know. I got to figure out how it's how it's working.
Andy Thomson: Yeah.
Mason Radke: It doesn't seem to be going through them one by one. Or maybe if it gets a good read, it immediately goes on to the next. I'm not sure, but I can get us some more clarity on what how that looks. Right time on this.
Andy Thomson: seems right at 10.
Mason Radke: Is
Andy Thomson: It looks like it.
Mason Radke: it
Andy Thomson: So, this seems like a pretty lightweight communication protocol like to where it can handle
Mason Radke: Yeah. Yeah. Boom. Right at 10. Right at 10 seconds. Yeah, I agree.
Andy Thomson: that.
Mason Radke: I haven't seen any I mean there's no errors coming in on these messages.
00:54:27
Mason Radke: They're all completing successfully.
Andy Thomson: Yeah, that's awesome. Okay. Oh man, I'm I'm I'm stoked. This is this is encouraging. Um I appreciate your work on it. Yeah, I uh Yeah, I appreciate your Yeah, I mean I'm, you know, talk to Kevin about this. I'm still learning how to, you know, work with others, play with others. Well, so um I'm really good at working by myself and and
Mason Radke: Yeah.
Andy Thomson: uh I almost say that jokingly because that's you know that's hard to do too. So, um,
Mason Radke: Yeah.
Andy Thomson: yeah, I I also like am used to the agility of doing everything myself and I'm I'm working on, you know, embracing the reality that um,
Mason Radke: Yeah.
Andy Thomson: you know, for everybody to all the pieces to move, there's there needs to be coordination and time for all that to work. So things I'm things I'm I'm you
Mason Radke: Yeah.
Andy Thomson: know changing expectations for myself and like the project like does the project really need to be that agile and you know just because that's how I've been able to do it is that necessarily uh appropriate for the project
00:56:00
Mason Radke: Yeah,
Andy Thomson: and so
Mason Radke: yeah, yeah.
Andy Thomson: Um,
Mason Radke: on these three tasks that I have open for us still.
Kevin: f******
Mason Radke: Uh add disable command to the IO fault and look look into some per site
Andy Thomson: right.
Mason Radke: disable logic.
Andy Thomson: Right.
Mason Radke: Uh I want to put a due date on those when we'd like to get that done just so I can plan all the other work I've got going
Andy Thomson: Sure. Sure.
Mason Radke: on.
Andy Thomson: Um um end of end of next week. Does that give you enough time?
Mason Radke: Um,
Andy Thomson: 24th.
Mason Radke: oops.
Andy Thomson: I won't.
Mason Radke: I still have a very busy April to get through.
Andy Thomson: Yeah. Yeah.
Mason Radke: Um, and I'll be offline 22nd to the 26th.
Andy Thomson: That doesn't give you Okay. Um trying to
Mason Radke: Um,
Andy Thomson: think.
Mason Radke: starting 27th, I'll be back full working full-time,
Andy Thomson: Uh all right.
Mason Radke: but honestly,
Andy Thomson: If um I'm just
Mason Radke: it's not a lot of work.
00:57:15
Mason Radke: I could get it done before the 21st.
Andy Thomson: trying to Yeah, if you can, great. Um I'm trying to I'm trying to think about what that will limit me if it will. And I don't think that it will limit me.
Mason Radke: No,
Andy Thomson: Um,
Mason Radke: I can just give you the the bits that you'll want to put on the skate toggle and then Yeah.
Andy Thomson: right,
Mason Radke: And even if I get it done before the 21st, I wouldn't even be able to get with you again until the 27th to kind of go over it.
Andy Thomson: right,
Mason Radke: But if I get you the bits to use on SCADA.
Andy Thomson: right. I can run with that. So,
Mason Radke: Yeah.
Andy Thomson: yeah. Okay.
Mason Radke: All
Andy Thomson: Um,
Mason Radke: right,
Andy Thomson: there you go.
Mason Radke: let's do that. Um, just to keep it on my
Andy Thomson: Right. And then okay.
Mason Radke: radar.
Andy Thomson: Um I have a bunch of beautiful iterations to make of the uh process stuff.
00:58:13
Andy Thomson: And um I mean you showed an instance of it the the uh the control narrative logic. Um so those control narratives are done for for each of those.
Mason Radke: Mhm.
Andy Thomson: Um, I have
Mason Radke: Oh. Uh,
Andy Thomson: the
Mason Radke: yeah. And I use the bits you gave me for SR3 and SR4, but it's just the same thing. It's looking at tank levels. It's got the force call. Um,
Andy Thomson: great,
Mason Radke: and those are the ones you're already messaging,
Andy Thomson: great, great,
Mason Radke: so that should all be in place.
Andy Thomson: great, great, great, great. Okay. Yeah, that's what I'm thinking of.
Mason Radke: Yeah.
Andy Thomson: um is is is those I have my um database stuff to deal with. Um yeah, so I I think I am able to run with this in a significant way. Um so yeah, beautiful. Thank you. Can you uh so
Mason Radke: Get you the ACD file right now.
Andy Thomson: yeah, please
00:59:42
Mason Radke: and then the H3NL file. Let's do four.
Andy Thomson: Right.
Mason Radke: the Prooft file.
Andy Thomson: Yeah.
Mason Radke: Mhm.
Andy Thomson: It's funny, right? I mean, I feel like Kevin and I talked about this over the years now. Um, like what a better product this is than I could have done myself and that they will probably maybe never understand how good this is
Mason Radke: Oh yeah,
Andy Thomson: and and how, you know, um,
Mason Radke: right.
Andy Thomson: this is the the right is better than the right. This is just such a good thing for them and what they what they need and hopefully this can be really robust and need me even less, right? So,
Mason Radke: Yes.
Andy Thomson: feels good. Feels good when I get to do the thing that you want to do. Sometimes it's I haven't I haven't looked at the budget. This is just what needs to be done. And I'm well this is
Mason Radke: Yeah.
Andy Thomson: uh it's it's beautiful makes me this is I I' I've said it I know I'm repeating myself but this this pro this is replacing a decade of work that I'm just not you know not not happy with and I just want to do it right.
01:01:27
Andy Thomson: This is the biggest gap between like my current capacity and like what I've done for a long time. So it's just like a whole a whole decade of uh you
Mason Radke: Yeah.
Andy Thomson: know experience washing away is is a very cathartic thing. So yeah this is
Mason Radke: Yeah, I I really enjoy I really enjoy this work.
Andy Thomson: beautiful.
Mason Radke: I mean, just making make making sense of chaos.
Andy Thomson: That's great man.
Mason Radke: There's just data everywhere and just trying to organize it in a way that my brain
Andy Thomson: Yes.
Mason Radke: understands and then seeing it come together and organizing it. Yeah, I enjoy doing it.
Andy Thomson: And then another human a appreciates it. I mean, we're we're both on the same side of that.
Mason Radke: Yeah.
Andy Thomson: Like you understand and appreciate that, you know, needing it to make sense and and uh there's just a
Mason Radke: Yeah. If I tried to hand over this project without that documentation, it it'd be a different story.
Andy Thomson: Yeah,
Mason Radke: It'd be so easy to get lost in that.
01:02:28
Andy Thomson: man.
Mason Radke: It'd be a lot of back and forth.
Andy Thomson: Right. Well,
Mason Radke: I tried to give you the tools to run with with the work I did.
Andy Thomson: and we Right. And we've all inherited projects without that documentation.
Mason Radke: Yeah.
Andy Thomson: And we're all trying to be the person that we want other people to be.
Mason Radke: Right.
Andy Thomson: And I think that's why we all,
Mason Radke: Yeah.
Andy Thomson: you know, we all get along. We all want to do things the right way. So, I appreciate that. I appreciate I I appreciate that you have tested this stuff
Mason Radke: Yeah.
Andy Thomson: and you know everything there's always going to be things but there's a difference between like just throwing it at the wall and see what sticks and like did you even try any of it once like
Mason Radke: Yeah. All
Andy Thomson: I've had right I'm I don't know if you have but I have had multiple you know trying
Mason Radke: right.
Andy Thomson: to delegate stuff and you're like this is dog s*** what way waste of my time like So, I I can see that.
01:03:23
Andy Thomson: I've seen it in the works so far. I appreciate it, and uh I'm I look forward to working out whatever's left,
Mason Radke: Good.
Andy Thomson: making it pretty on on Ignition,
Mason Radke: Yeah.
Andy Thomson: and uh that's it's going to be a a beautiful thing, man. So,
Mason Radke: Good.
Andy Thomson: all right. Yeah,
Mason Radke: All right.
Andy Thomson: we have our direction. Thank you, Kevin. Good to see you.
Kevin: Yep.
Mason Radke: Yeah.
Kevin: You too. Glad you know everybody's out having fun. I'm just been here
Andy Thomson: Yeah,
Kevin: working.
Andy Thomson: man. Well, um yeah. Um I don't know how you do you guys, uh find solace from normal life and work. I do. I feel better now than I did two hours ago. Life life can kind of uh uh work I have a more makes sense more and has a little bit more direct input versus output control. Like this is complex,
Kevin: Mhm.
Andy Thomson: difficult stuff. And how rewarding is it to like make make those bits do what we want it to?
01:04:39
Mason Radke: Yeah.
Andy Thomson: And uh how much life doesn't work that way,
Kevin: Yeah.
Mason Radke: Yeah.
Kevin: Right.
Andy Thomson: man.
Mason Radke: Yeah. It's crazy to think about all we had to figure out to get to this point.
Andy Thomson: So
Mason Radke: Like all the pro soft stuff, figuring out the addressing and the cards and the and what method we're even going to read read that data in and what we've turned it what we've turned it
Andy Thomson: I know I was thinking about that like are we going to do gosh which
Mason Radke: into.
Andy Thomson: method do we even go down and it feels good to know like this was the right
Mason Radke: Yes.
Andy Thomson: right journey right path.
Mason Radke: Yeah, I think so
Andy Thomson: Yeah,
Mason Radke: too.
Andy Thomson: very happy. All right,
Mason Radke: Okay. Anything else pops up, just let me know.
Andy Thomson: let's see what uh we'll see how uh Gemini
Mason Radke: We'll get it on the list.
Andy Thomson: took notes here. See what happens. All right, stop taking notes. Let's see what happens. I'll try to share that. Thanks, guys.
Kevin: Okay, thank you Andy.
Andy Thomson: Have a good day, guys. Bye.
Mason Radke: See?
Kevin: See you.
Transcription ended after 01:05:49
This editable transcript was computer generated and might contain errors. People can also change the text after it was created.