<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Activity for bnewman</title><link href="https://forge.codesys.com/u/bnewman/activity/" rel="alternate"/><id>https://forge.codesys.com/u/bnewman/activity/</id><updated>2025-07-25T18:54:38.588000Z</updated><subtitle>Recent activity for bnewman</subtitle><entry><title>bnewman posted a comment on discussion Engineering 🇬🇧</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/23f23119a7/?limit=25#de89" rel="alternate"/><published>2025-07-25T18:54:38.588000Z</published><updated>2025-07-25T18:54:38.588000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/forge/talk/Engineering/thread/23f23119a7/?limit=25#de89</id><summary type="html">Update as of 2025: This function (IECStringUtils.FormatDateTime) doesn't make any sense there isn't any parameter that accepts a Date_Time value. I have no idea what's purpose even is. I am going to use StuSprintf from the StringUtils library for this purpose.</summary></entry><entry><title>bnewman modified a comment on ticket #71</title><link href="https://forge.codesys.com/lib/counit/tickets/71/?limit=25#40d2" rel="alternate"/><published>2025-07-07T20:53:49.338000Z</published><updated>2025-07-07T20:53:49.338000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/71/?limit=25#40d2</id><summary type="html">Note: I should say they are marked INTERNAL, not PRIVATE</summary></entry><entry><title>bnewman posted a comment on ticket #71</title><link href="https://forge.codesys.com/lib/counit/tickets/71/?limit=25#40d2" rel="alternate"/><published>2025-07-07T20:48:08.915000Z</published><updated>2025-07-07T20:48:08.915000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/71/?limit=25#40d2</id><summary type="html">Note: I should say they are marked INTERNAL, not PROTECTED</summary></entry><entry><title>bnewman created ticket #71</title><link href="https://forge.codesys.com/lib/counit/tickets/71/" rel="alternate"/><published>2025-07-07T20:45:45.293000Z</published><updated>2025-07-07T20:45:45.293000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/71/</id><summary type="html">Test Suit Methods should be Protected not Private</summary></entry><entry><title>bnewman created ticket #70</title><link href="https://forge.codesys.com/lib/counit/tickets/70/" rel="alternate"/><published>2025-07-07T19:57:45.675000Z</published><updated>2025-07-07T19:57:45.675000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/70/</id><summary type="html">AssertEquals_String doesn't work for Strings longer than 255 characters</summary></entry><entry><title>bnewman posted a comment on ticket #67</title><link href="https://forge.codesys.com/lib/counit/tickets/67/?limit=25#365a" rel="alternate"/><published>2024-09-04T21:03:24.855000Z</published><updated>2024-09-04T21:03:24.855000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/67/?limit=25#365a</id><summary type="html">this can be closed BTW</summary></entry><entry><title>bnewman posted a comment on ticket #67</title><link href="https://forge.codesys.com/lib/counit/tickets/67/?limit=25#1aa8" rel="alternate"/><published>2024-07-11T18:27:33.372000Z</published><updated>2024-07-11T18:27:33.372000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/67/?limit=25#1aa8</id><summary type="html">I think this is the same or similar to https://forge.codesys.com/lib/counit/tickets/58/ I figured out that this was occurring because assert was being called continuously</summary></entry><entry><title>bnewman posted a comment on ticket #59</title><link href="https://forge.codesys.com/lib/counit/tickets/59/?limit=25#c550" rel="alternate"/><published>2024-06-07T18:34:44.521000Z</published><updated>2024-06-07T18:34:44.521000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/59/?limit=25#c550</id><summary type="html">Seems to work now. Can this be closed?</summary></entry><entry><title>bnewman created ticket #68</title><link href="https://forge.codesys.com/lib/counit/tickets/68/" rel="alternate"/><published>2024-06-07T18:33:36.614000Z</published><updated>2024-06-07T18:33:36.614000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/68/</id><summary type="html">Request: Tutorial for Jinkins and example Python Scripts</summary></entry><entry><title>bnewman created ticket #67</title><link href="https://forge.codesys.com/lib/counit/tickets/67/" rel="alternate"/><published>2024-06-07T18:25:45.501000Z</published><updated>2024-06-07T18:25:45.501000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/counit/tickets/67/</id><summary type="html">AccessViolation Exception thrown in FB_AssertResultStatic.AddAssertResult()</summary></entry><entry><title>bnewman created ticket #4</title><link href="https://forge.codesys.com/drv/io-drivers/tickets/4/" rel="alternate"/><published>2024-05-10T18:30:17.588000Z</published><updated>2024-05-10T18:30:17.588000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/drv/io-drivers/tickets/4/</id><summary type="html">Struct datatype Documentation is confusing</summary></entry><entry><title>bnewman modified a comment on ticket #8</title><link href="https://forge.codesys.com/tol/iec-snippets/snippets/8/?limit=25#5510" rel="alternate"/><published>2024-02-05T17:11:27.039000Z</published><updated>2024-02-05T17:11:27.039000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/tol/iec-snippets/snippets/8/?limit=25#5510</id><summary type="html">I don't understand the point of this. Isn't just better to use __SYSTEM.AnyType instead of making your own type? Also if you wanted to make it an object, shouldn't you just wrap a FB around __SYSTEM.AnyType and then have some conversion Methods? Maybe I am missing the purpose of this code. Maybe add more details on how you would use MyMappingFB</summary></entry><entry><title>bnewman posted a comment on ticket #8</title><link href="https://forge.codesys.com/tol/iec-snippets/snippets/8/?limit=25#5510" rel="alternate"/><published>2024-02-05T17:09:15.008000Z</published><updated>2024-02-05T17:09:15.008000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/tol/iec-snippets/snippets/8/?limit=25#5510</id><summary type="html">I don't understand the point of this. Isn't just better to use __SYSTEM.AnyType instead of making your own type? Also if you wanted to make it an object, shouldn't you just wrap a FB around __SYSTEM.AnyType and then have some conversion Methods?</summary></entry><entry><title>bnewman posted a comment on a wiki page</title><link href="https://forge.codesys.com/lib/pro-json/home/Home/?limit=25#f7b3" rel="alternate"/><published>2023-10-27T22:05:27.997000Z</published><updated>2023-10-27T22:05:27.997000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/pro-json/home/Home/?limit=25#f7b3</id><summary type="html">awesome! thank you sir.</summary></entry><entry><title>bnewman posted a comment on a wiki page</title><link href="https://forge.codesys.com/lib/pro-json/home/Home/?limit=25#e2b4" rel="alternate"/><published>2023-10-27T18:40:23.709000Z</published><updated>2023-10-27T18:40:23.709000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/pro-json/home/Home/?limit=25#e2b4</id><summary type="html">Will you please rerelease this under MIT or MPL2? GPL is a cancer.</summary></entry><entry><title>bnewman posted a comment on discussion Engineering 🇬🇧</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/ea07d6c234/?limit=25#1d18" rel="alternate"/><published>2023-10-17T03:53:40.206000Z</published><updated>2023-10-17T03:53:40.206000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/forge/talk/Engineering/thread/ea07d6c234/?limit=25#1d18</id><summary type="html">I also would like to now how to clear the PLC Device Log. @eschwellinger are you saying there is no way to clear the log? When I am debugging I want to clear the log, it would make things some much easier to find.</summary></entry><entry><title>bnewman posted a comment on ticket #2</title><link href="https://forge.codesys.com/lib/colist/tickets/2/?limit=25#ac28/fc5b" rel="alternate"/><published>2023-08-14T18:13:47.050000Z</published><updated>2023-08-14T18:13:47.050000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/colist/tickets/2/?limit=25#ac28/fc5b</id><summary type="html">I just opened it in 3.5.18.4 and it didn't even give me that prompt at all. So I was able to see the code.</summary></entry><entry><title>bnewman modified a comment on ticket #2</title><link href="https://forge.codesys.com/lib/colist/tickets/2/?limit=25#ac28/e722" rel="alternate"/><published>2023-08-14T18:12:49.469000Z</published><updated>2023-08-14T18:12:49.469000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/colist/tickets/2/?limit=25#ac28/e722</id><summary type="html">I figured that, but in 3.5.19.2 it has that option grayed out. Actually all options in that dialog are grayed out</summary></entry><entry><title>bnewman posted a comment on ticket #2</title><link href="https://forge.codesys.com/lib/colist/tickets/2/?limit=25#ac28/e722" rel="alternate"/><published>2023-08-14T18:05:17.981000Z</published><updated>2023-08-14T18:05:17.981000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/colist/tickets/2/?limit=25#ac28/e722</id><summary type="html">I figured that, but in 3.5.19.2 it has that option grayed out. Actually all options in that dialog are grayed out On Mon, Aug 14, 2023, 1:41 PM i-campbell no-reply@codesys.com wrote: Workaround is to select "Remove git connection from project", and then "Continue with this version." [tickets:#2] https://forge.codesys.com/lib/colist/tickets/2/ Extra Dialog messages when downloading binary of library* Status: open Milestone: 2.0 Created: Sun Oct 17, 2021 01:02 PM UTC by i-campbell Last Updated: Mon...</summary></entry><entry><title>bnewman posted a comment on ticket #2</title><link href="https://forge.codesys.com/lib/colist/tickets/2/?limit=25#47e1" rel="alternate"/><published>2023-08-14T17:20:22.319000Z</published><updated>2023-08-14T17:20:22.319000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/lib/colist/tickets/2/?limit=25#47e1</id><summary type="html">Is there a work around for this? I was wanting to look at the the source code. Specifically the IList and IElement interfaces.</summary></entry><entry><title>bnewman modified a comment on discussion Engineering 🇬🇧</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/de9744dfed/?limit=25#b280" rel="alternate"/><published>2023-08-12T16:39:13.136000Z</published><updated>2023-08-12T16:39:13.136000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/forge/talk/Engineering/thread/de9744dfed/?limit=25#b280</id><summary type="html">Is there a way to programmatically inject a source position in to the log like an Exception does, so they you can double click on it and have it take you to the source code position? I know there there is the POSITION operator but that doesn't do the same thing. __POSITION()</summary></entry><entry><title>bnewman posted a comment on discussion Engineering 🇬🇧</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/de9744dfed/?limit=25#b280" rel="alternate"/><published>2023-08-12T16:36:01.750000Z</published><updated>2023-08-12T16:36:01.750000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/forge/talk/Engineering/thread/de9744dfed/?limit=25#b280</id><summary type="html">Is there a way to programmatically inject a source position in to the log like an Exception does, so they you can double click on it and have it take you to the source code position? I know there there is the __POSITION() operator but that doesn't do the same thing</summary></entry><entry><title>bnewman modified a comment on discussion Engineering 🇬🇧</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/678b24f53f/?limit=25#b932/5bcf" rel="alternate"/><published>2023-08-10T01:42:17.585000Z</published><updated>2023-08-10T01:42:17.585000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/forge/talk/Engineering/thread/678b24f53f/?limit=25#b932/5bcf</id><summary type="html">That's fine with me I added a comment to that snippet with an improved version that doesn't throw an exception if the property already exists</summary></entry><entry><title>bnewman posted a comment on discussion Engineering 🇬🇧</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/678b24f53f/?limit=25#b932/5bcf" rel="alternate"/><published>2023-08-09T17:05:56.911000Z</published><updated>2023-08-09T17:05:56.911000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/forge/talk/Engineering/thread/678b24f53f/?limit=25#b932/5bcf</id><summary type="html">That's fine with me I added a comment to that snippet with an improved version that does throw an except if the property already exists</summary></entry><entry><title>bnewman posted a comment on ticket #23</title><link href="https://forge.codesys.com/tol/scripting/snippets/23/?limit=25#908d" rel="alternate"/><published>2023-08-09T17:04:51.917000Z</published><updated>2023-08-09T17:04:51.917000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/tol/scripting/snippets/23/?limit=25#908d</id><summary type="html">this is an improved version that doesn't throw an exception if the property already exists def CreateAllProperties(fbname, shouldAddMonitor = False): # get current project project = projects.primary # find the function block fb = project.find(fbname, True)[0] # get the declaration text declaration = fb.textual_declaration # iterate all lines in the declaration for i in range(declaration.linecount): line = declaration.get_line(i) # get this declaration line stripped = line.strip() # strip out white...</summary></entry><entry><title>bnewman posted a comment on discussion Engineering 🇬🇧</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/678b24f53f/?limit=25#d16e" rel="alternate"/><published>2023-08-08T19:23:47.877000Z</published><updated>2023-08-08T19:23:47.877000Z</updated><author><name>bnewman</name><uri>https://forge.codesys.com/u/bnewman/profile/</uri></author><id>https://forge.codesys.com/forge/talk/Engineering/thread/678b24f53f/?limit=25#d16e</id><summary type="html">Here is an updated version that works in Codesys 3.5.19.2 That old version didn't like the line fb.create_property(propname, proptype) def CreateAllProperties(fbname): # get current project project = projects.primary # find the function block fb = project.find(fbname, True)[0] # get the declaration text declaration = fb.textual_declaration # iterate all lines in the declaration for i in range(declaration.linecount): line = declaration.get_line(i) # get this declaration line stripped = line.strip()...</summary></entry></feed>