开云体育

Date

Locked Re: LogixNG edit exceptions #logixng

 

Does that also mean you can't set the roster entry to a long address between 0 and 127?

Robin

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of billybob experimenter
Sent: Tuesday, May 28, 2024 2:27 PM
To: [email protected]
Subject: Re: [jmriusers] LogixNG edit exceptions

On 5/28/2024 4:53 PM, Robin Becker wrote:
I am not able to send an address < 128 as a Long address.
This is _typical_ of Digitrax command stations. There _is no such thing_ as a "long address" with an address number of (0 to 127) in "Digitrax", at least when a Digitrax command station is involved. And when doing "POM" programming, the Digitrax command station _is_ involved.

So JMRI _assumes_ that addresses between 0 and 127 are always "short", because the Digitrax command station will, too...

Regards,
Billybob


Locked Re: LogixNG edit exceptions #logixng

 

On 5/28/2024 4:53 PM, Robin Becker wrote:
I am not able to send an address < 128 as a Long address.
This is _typical_ of Digitrax command stations. There _is no such thing_ as a "long address" with an address number of (0 to 127) in "Digitrax", at least when a Digitrax command station is involved. And when doing "POM" programming, the Digitrax command station _is_ involved.

So JMRI _assumes_ that addresses between 0 and 127 are always "short", because the Digitrax command station will, too...

Regards,
Billybob


Locked LogixNG listening to mix of bean types #logixng

 

开云体育

Hi (Daniel and Dave S :),

?

I have a LogixNG conditional that does some calculations using 2 sensor and 1 block and then does actions on a turnout based on the result.? One of the calculations is run twice: first with “execute on change”, and if true then again after several seconds with “execute always”.? To keep things tidy I put that calculation in a module.? I also put the final calculations and actions in another module.? Everything is working fine.

?

?

There needs to multiple instances of this conditional.? Each instance will use its own specific set of sensors, block and turnout.? So I am trying to find the most efficient structure for the conditional, so that each instance requires the minimum of editing.? Ideally I would just like to set the names of the sensors and block in just 1 place within the conditional.? I have only been able to get it down to 2 places though.? Using local variables for each of the names seemed promising, but I could not figure out how to simultaneously listen to 2 different types of beans whose names are in 3 local variables??

?

Hoping I am missing something obvious!? Appreciate any pointers.

?

Robin Becker

San Diego CA

?

?


Locked Is there an easy way to tell JMRI to reference User names vs. System names

 

Way back in the day I started using the system name instead of the user name. I have winced learn that upgrades don’t go so well when doing things that way. So my question is can you just tell JMRI to convert to using all user names or will I have to go in and change everything manually?

Chuck Batherson


Locked Re: LogixNG edit exceptions #logixng

 

开云体育

Daniel,

?

I am not able to send an address < 128 as a Long address. I tried setting the Long/short parameter to Long using Direct.? I also tried setting it using a Local variable, a Formula and a Memory.? In all cases POM sends a short address CV write:

?

Byte Write (No feedback) on Main Track: Decoder address 10 (short): CV133 value 20 (0x14, 00010100b).

LONG_ACK: The Slot Write command was accepted blind (no response will be sent).

?

Robin

?

From: [email protected] <[email protected]> On Behalf Of Robin Becker
Sent: Monday, May 27, 2024 6:50 PM
To: [email protected]
Subject: Re: [jmriusers] LogixNG edit exceptions

?

Thank you Daniel.? I will test POM tomorrow and report back.

Robin

May 27, 2024 4:44:10 PM danielb987 <jmri@...>:

Hi Robin,

Thanks for finding that. The editor disabled the menu item when the paste wasn't valid, but the keystroke still worked which caused the exception.

This is fixed by PR #13132.


If you find any other keystrokes that fails for whatever reason, feel free to report that too.

Note that PR #13125 which improves the ProgramOnMain action is merged. It would be very good if you could try it with real hardware and report back since I have only been able to test it with the LocoNet simulator.

---
Daniel Bergqvist
JMRI developer

2024-05-27 22:58 skrev Robin Becker:

Hi Daniel and Dave S.?? When editing a LogixNG, any time I copy an
Action and then accidentally paste it to the wrong socket I get an
Exception something similar to the one below.? At this point editing
no longer works and I have to restart JMRI to recover.? I realize
it’s my mistake but it would sure be nice if this type of exception
was handled.? Thanks.
Robin Becker
San Diego CA
13:53:05,318 ptionhandler.UncaughtExceptionHandler ERROR - Uncaught
Exception caught by
jmri.util.exceptionhandler.UncaughtExceptionHandler [JMRI
LogixNGThread]
java.lang.IllegalArgumentException: Socket
jmri.jmrit.logixng.tools.debugger.DebuggerMaleDigitalExpressionSocket
is not compatible with
jmri.jmrit.logixng.implementation.DefaultFemaleDigitalActionSocket
??????????????? at
jmri.jmrit.logixng.implementation.AbstractFemaleSocket.connect(AbstractFemaleSocket.java:90)
~[jmri.jar:?]
??????????????? at
jmri.jmrit.logixng.tools.swing.TreeEditor.lambda$pasteItem$42(TreeEditor.java:1435)
~[jmri.jar:?]
??????????????? at
jmri.jmrit.logixng.util.LogixNG_Thread.lambda$new$0(LogixNG_Thread.java:148)
~[jmri.jar:?]
??????????????? at java.lang.Thread.run(Thread.java:829) [?:?]

Links:
------
[1] /g/jmriusers/message/230969
[2] /mt/106337635/5164497
[3] /g/jmriusers/post
[4] /g/jmriusers/editsub/5164497
[5] /g/jmriusers/leave/9097802/5164497/1706973714/xyzzy




Locked Re: Tried upgrading from 4.20 to 4.26 Working my way up to the newer versions #upgrading

 

I forgot to say that I moved the folder based on your recommendation.

Chuck


Locked Re: Tried upgrading from 4.20 to 4.26 Working my way up to the newer versions #upgrading

 

Dave

The nodes were fine, but I noticed in a couple of the descriptions I had placed two spaces between the color of the LED and the word upper. Removed one of the spaces from each name and magically the errors went away. I also remember an error in a different place and it was also related to an extra space.
I guess something in the programming changed between 4.18 and 4.26, because those spaces had to have been in there for a long time.
For now I won’t need to up load a file. Anyways thanks for the help.

Chuck B


Locked Re: Tried upgrading from 4.20 to 4.26 Working my way up to the newer versions #upgrading

 

Chuck,

Something happened to the CMRI turnouts in the?/JMRI_Panels/CBNR 240528a.xml file. ?Verify that the CMRI configuration in "Preferences => Connections, C/MRI tab, Configure Nodes is valid. ?Do this before loading the xml file.

If you upload the file to the group's ProblemsBeingWorkOn file folder, we can take a look at it.

Note: ?You have the "JMRI_Panels" directory at the root of the macOS file system. ?This is an unsupported configuration. ?The directory should be at "/Users/chuck".

Dave Sand


----- Original message -----
From: Chuck Batherson <cascobaynorthern@...>
Subject: [jmriusers] Tried upgrading from 4.20 to 4.26 Working my way up to the newer versions
Date: Tuesday, May 28, 2024 1:47 PM

?I now get error message I can't explain. Can someone give me a hint as to where to look on these error message. It ays there are no integers after the CT, but there are. Also the signals still give the proper indication.

2024-05-28 14:06:36,396 util.Log4JUtil ? ? ? ? ? ? ? ? ? ? ? ?INFO ?- * JMRI log ** [main]

2024-05-28 14:06:36,398 util.Log4JUtil ? ? ? ? ? ? ? ? ? ? ? ?INFO ?- This log is appended to file: /Users/chuck/Library/Preferences/JMRI/log/messages.log [main]

2024-05-28 14:06:36,399 util.Log4JUtil ? ? ? ? ? ? ? ? ? ? ? ?INFO ?- This log is stored in file: /Users/chuck/Library/Preferences/JMRI/log/session.log [main]

2024-05-28 14:06:36,408 apps.Apps ? ? ? ? ? ? ? ? ? ? ? ? ? ? INFO ?- PanelPro version 4.26+R381c8dfc32 starts under Java 1.8.0_211 on Mac OS X x86_64 v10.13.6 at Tue May 28 14:06:36 EDT 2024 [main]

2024-05-28 14:06:39,866 apps.Apps ? ? ? ? ? ? ? ? ? ? ? ? ? ? INFO ?- Starting with profile CBNR_New.3f791f54 [main]

2024-05-28 14:06:39,948 node.NodeIdentity ? ? ? ? ? ? ? ? ? ? INFO ?- Using af2b9e0e-1b28-431b-8e57-f2bd1505d04c as the JMRI storage identity for profile id 3f791f54 [AWT-EventQueue-0]

2024-05-28 14:06:40,136 xml.AbstractSerialConnectionConfigXml INFO ?- Starting to connect for "C/MRI" [main]

2024-05-28 14:06:40,321 serialdriver.SerialDriverAdapter ? ? ?INFO ?- cu.SLAB_USBtoUART port opened at 9600 baud with DTR: true RTS: true DSR: false CTS: false ?CD: false [main]

2024-05-28 14:06:41,209 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path program: is /Applications/JMRI/ [main]

2024-05-28 14:06:41,209 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path preference: is /JMRI_Panels/ [main]

2024-05-28 14:06:41,209 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path profile: is /Users/chuck/Library/Preferences/JMRI/CBNR_New/ [main]

2024-05-28 14:06:41,210 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path settings: is /Users/chuck/Library/Preferences/JMRI/ [main]

2024-05-28 14:06:41,210 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path home: is /Users/chuck/ [main]

2024-05-28 14:06:41,210 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path scripts: is /Applications/JMRI/jython/ [main]

2024-05-28 14:06:41,974 PanelPro.PanelPro ? ? ? ? ? ? ? ? ? ? INFO ?- Main initialization done [main]

2024-05-28 14:06:52,500 configurexml.LoadXmlConfigAction ? ? ?INFO ?- Loading selected file: /JMRI_Panels/CBNR 240528a.xml [AWT-EventQueue-0]

2024-05-28 14:06:55,230 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Green Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:55,230 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Green Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:55,231 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Yellow Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:55,231 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Yellow Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:55,231 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Red Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:55,231 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Red Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,929 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Green Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,929 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Green Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,930 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Green Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,930 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Green Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,930 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Yellow Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,930 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Yellow Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,930 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Yellow Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,930 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Yellow Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,930 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Red Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,931 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Red Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,931 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Red Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,931 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Red Upper)" in conditional action [AWT-EventQueue-0]

Happened in both a Windows 7 and a older MAC machine OS 10.13.6 High Sierra.
Thanks in advance
Chuck Batherson



Locked Tried upgrading from 4.20 to 4.26 Working my way up to the newer versions #upgrading

 

I now get error message I can't explain. Can someone give me a hint as to where to look on these error message. It ays there are no integers after the CT, but there are. Also the signals still give the proper indication.

2024-05-28 14:06:36,396 util.Log4JUtil ? ? ? ? ? ? ? ? ? ? ? ?INFO ?- * JMRI log ** [main]

2024-05-28 14:06:36,398 util.Log4JUtil ? ? ? ? ? ? ? ? ? ? ? ?INFO ?- This log is appended to file: /Users/chuck/Library/Preferences/JMRI/log/messages.log [main]

2024-05-28 14:06:36,399 util.Log4JUtil ? ? ? ? ? ? ? ? ? ? ? ?INFO ?- This log is stored in file: /Users/chuck/Library/Preferences/JMRI/log/session.log [main]

2024-05-28 14:06:36,408 apps.Apps ? ? ? ? ? ? ? ? ? ? ? ? ? ? INFO ?- PanelPro version 4.26+R381c8dfc32 starts under Java 1.8.0_211 on Mac OS X x86_64 v10.13.6 at Tue May 28 14:06:36 EDT 2024 [main]

2024-05-28 14:06:39,866 apps.Apps ? ? ? ? ? ? ? ? ? ? ? ? ? ? INFO ?- Starting with profile CBNR_New.3f791f54 [main]

2024-05-28 14:06:39,948 node.NodeIdentity ? ? ? ? ? ? ? ? ? ? INFO ?- Using af2b9e0e-1b28-431b-8e57-f2bd1505d04c as the JMRI storage identity for profile id 3f791f54 [AWT-EventQueue-0]

2024-05-28 14:06:40,136 xml.AbstractSerialConnectionConfigXml INFO ?- Starting to connect for "C/MRI" [main]

2024-05-28 14:06:40,321 serialdriver.SerialDriverAdapter ? ? ?INFO ?- cu.SLAB_USBtoUART port opened at 9600 baud with DTR: true RTS: true DSR: false CTS: false ?CD: false [main]

2024-05-28 14:06:41,209 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path program: is /Applications/JMRI/ [main]

2024-05-28 14:06:41,209 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path preference: is /JMRI_Panels/ [main]

2024-05-28 14:06:41,209 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path profile: is /Users/chuck/Library/Preferences/JMRI/CBNR_New/ [main]

2024-05-28 14:06:41,210 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path settings: is /Users/chuck/Library/Preferences/JMRI/ [main]

2024-05-28 14:06:41,210 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path home: is /Users/chuck/ [main]

2024-05-28 14:06:41,210 util.FileUtilSupport ? ? ? ? ? ? ? ? ?INFO ?- File path scripts: is /Applications/JMRI/jython/ [main]

2024-05-28 14:06:41,974 PanelPro.PanelPro ? ? ? ? ? ? ? ? ? ? INFO ?- Main initialization done [main]

2024-05-28 14:06:52,500 configurexml.LoadXmlConfigAction ? ? ?INFO ?- Loading selected file: /JMRI_Panels/CBNR 240528a.xml [AWT-EventQueue-0]

2024-05-28 14:06:55,230 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Green Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:55,230 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Green Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:55,231 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Yellow Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:55,231 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Yellow Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:55,231 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Red Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:55,231 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Red Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,929 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Green Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,929 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Green Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,930 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Green Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,930 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Green Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,930 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Yellow Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,930 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Yellow Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,930 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Yellow Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,930 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Yellow Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,930 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Red Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,931 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Red Upper)" in conditional action [AWT-EventQueue-0]

2024-05-28 14:06:59,931 managers.AbstractManager ? ? ? ? ? ? ?ERROR - Invalid system name for Turnout: "CTSearsport South Main to Industries (Red Upper)" must be an integer after "CT". [AWT-EventQueue-0]

2024-05-28 14:06:59,931 plementation.DefaultConditionalAction ERROR - invalid turnout name= "Searsport South Main to Industries (Red Upper)" in conditional action [AWT-EventQueue-0]

Happened in both a Windows 7 and a older MAC machine OS 10.13.6 High Sierra.
Thanks in advance
Chuck Batherson


 

Mick and Nigel,

Thanks for the additional info.? I'll have a rummage and see what I've got in the way of a suitable switch.

Adrian
--
No spam please, we're British


 

开云体育

I second what Nigel says about the value of switching quickly between service mode programming track and main track, very valuable.?

Mick
________________________________
Mick Moignard
Specialising in DCC Sound
m: +44 7774 652504

The week may start M,T but it always ends WTF.


Locked Re: Speed Profiling

 

My opinion is not triggering a detector is a hardware issue. Either your locomotive or DCC equipment.

--
Peter Ulvestad

JMRI Users Group Moderator ( )
Tam Valley Group Moderator ( )
Sprog-DCC Group Moderator ( )
Edmonton Model Railroad Association ( )


Locked Re: LOGIXNG

 

Tony,

Correct, Logix is not used. ?In the file I sent, all of the Logixs are disabled. ?They can be deleted.

The mapping LogixNG transfers the LS sensor state to the corresponding virtual sensor. ?The virtual sensors have a 500ms going active delay. ?These are assigned to the block table entries. ?On the panel are icons for the ?LS sensors. ?They show the real occupancy state and are used for simulation testing. ?Clicking on one produces a visible 500ms delay before the track changes to the occupied color.

Each route needs a LogixNG conditional to set the virtual turnout occupancy sensors. ?Each set of routes has a controlling entry turnout. ?For example SW2 has 5 routes. ?SW12 has 6 routes. ?Each route will have a sequence of virtual turnout blocks. ?In the LogixNG conditional, each virtual turnout sensor is set to 100ms more than the previous one. ?For example SW2 has up to 4 virtual turnout sensors: B3A, B13A, B33A and B43A. ?The means the delays are 0, 100, 200 and 300. ?This means the full ladder is set in sequence before B43 or B40 become active due to its 500ms delay.

Turnouts 9, 10 ,11 and 12 need their own virtual turnout blocks. ?Then a train going from B39 to B33 using section "SW12:SW5-CC1" sets 12 first and then 6 after 100ms. ?A train going from B33 to B39 using section "SW6-CC:B38-CW", reverses the sequence with 100ms delay for the new 12 virtual block sensor.

Your discussion does not take into consideration that a train running from B2 to B3 needs to leave B2 before Dispatcher will allow a following train into B2. ?When the first train leaves B2, B3A is also cleared. Now Dispatcher can set SW2 thrown and let a train into B2. ?You have to consider how Dispatcher is allocating sections and setting turnouts which affects signal mast aspects and train speeds.

Dave Sand


----- Original message -----
Subject: Re: [jmriusers] LOGIXNG
Date: Tuesday, May 28, 2024 8:27 AM

Dear Dave

I think I understand what your doing but have questions
I assume we erase all the logix statements
Your create all the mapping from loconet sensor to virtual sensor via one LogixNG. Therefore we are still using the virtual sensors for the blocks on the layout panel and we still use the delays placed on the virtual sensors of 500ms.

In creating the LogixNG for a transit going from b2 to b33 we have delay issues.
When the switches are closed and we go from b2-b3 or b39-b33 we need the 500ms delay in the blocks on both sides of the sw2 or sw6/sw12 (sw6 and sw12 are in same block so it’s like single switch situation when switches are closed) so we get the proper activation in both directions.

Now when we use the thrown positions for sw2 we cannot active b3a immediately because the virtual sensor controlling b2 on the panel has a 500 Ms delay (needed for the closed position) so it needs a 700 ms delay, then the sw-b13a block needs a 900ms delay , the b33a needs a 1100ms delay and b33 needs a 1300ms delay.
Now in other direction the delays are opposite.?

Don’t we have to get rid of the virtual sensors and use loconet sensors with no delays on the sensors but just put the needed delays in the LogixNG statements.

What am I thinking wrongly

Tony



On May 26, 2024, at 12:21 PM, Dave Sand <ds@...> wrote:
?
Tony,

There is a tool to migrate Logixs to LogixNG. ?It does not convert the Logix to native LogixNG. ?I don't recommend it.

To delay an action use "Add => Common => Execute delay". ?The delay can be applied to anything, including a group of actions.

Here are some LogixNGs for your layout.

Real to Virtual Mapping

The mapping Logixes are replaced by a single LogixNG.
<Screenshot 2024-05-26 at 10.15.04?AM.png>
The "Listen on beans" contains a list of real sensors.
<Screenshot 2024-05-26 at 10.21.16?AM.png>
When a sensor changes, a formula prepends "V" to the real sensor name to create the virtual sensor name. It then set the virtual sensor state to the state of the real sensor.

Simple virtual turnout block

Setting a single virtual turnout sensor is fairly simple.
<Screenshot 2024-05-26 at 11.12.25?AM.png>
The first IF checks to see if the turnout is closed. ?If it is thrown, a different set of real sensors is involved.


Multiple turnout blocks

Multiple turnout blocks, such as crossovers and slip ladders are complicated and need to take into consideration traffic direction.

This one handles traffic between B2 and B13. ?The direction is based on SML based sections.
<Screenshot 2024-05-26 at 10.14.35?AM.png>
SW2 has five potential routes. ?The simple example covered the route to B3. ?

The other routes have multiple virtual turnout blocks. ?

Since there need to be 4 LogixNG conditionals for the complex routes, the first IF statement is used to determine if the route is active. ?If not, do nothing. ?Notice the "No Listen". ? These expressions do not trigger the execution of the conditional. ?The "section" checks also do not listen for changes.

The second IF knows that the turnouts are aligned. ?If both sensors are not active, then it sets the virtual turnout sensors inactive.

The final IF statement is a IF-THEN-ELSE IF-THEN ELSE format. ?This makes it possible to create a series of checks. ?If none of them are true, the final ELSE is used.

If the real sensors are both active, the final IF statement first checks to see if Dispatcher has routed a train from left to right. ?If so, it sets the virtual turnout sensors in the proper sequence. ?If not, it then checks for a right to left train. ?If so, it sets the virtual turnout sensors in the reverse sequence. ?If there is no train, it sets the virtual turnout sensors inactive.

Note: ?You might need to upgrade to 5.6 to support the displayed LogixNG conditionals.

Dave Sand



----- Original message -----
Subject: Re: [jmriusers] LOGIXNG
Date: Sunday, May 26, 2024 9:37 AM

Ps: ?if I have a logix conditional is there some button I press that converts it to a logixNG logic conditional

Tony



On May 26, 2024, at 10:34 AM, AD <BKLYNS_BASEBALL_CLUB@...> wrote:
?I create an if then else statement using logixNG?
the conditional if and asks if 2 sensors are active and a switch is thrown then set a third sensor active.
I want to add a delay of 200 ms to the activation of the third sensor in that conditional.

how do I do that

tony



Locked Speed Profiling

 

Help please.? I have a problem with one loco that will not profile properly.

It’s a very small 6-wheel tank loco (Hornby Terrier with DDC none sound manufacturer fitted).? The supplied decoder is very basic and only has short programming address.

When speed profiling, I set the acceleration and deceleration to 0.

It will run forward ad detect the speed. When it exits the block, it may not stop and I have to cancel the profile. It does capture the forward profile.

If it does stop and reverse then it will start the reverse measure but on exit does not detect its finished and keep running.?

I have managed to capture 5 OK forward speeds but nothing in reverse. Seems the loco is not triggering JMRI


Locked Re: Latest decoder definitions. #definitions

 

开云体育


The problem is "Vista" which will be very difficult to update the Java to Java11 or later.? ?One could try installing Linux on the hardware (assuming the hardware isn't also antique and not able to run a current Linux without being a techno-nerd).?
The Vista computer will be at least a dozen years old, probably 15+.? ? Accept that its now had it's day and get something newer; an adequate replacement can be obtained for under ?/$100.??

Yes, one can try uploading newer decoder files, but no guarantee they'll work.? Quite a lot of decoder files will be using features which require a newer version of the underlying JMRI software to work.?


The Sprog will be fine.? I have an old Sprog Version 2, which works fine on Windows 10, Windows 11 and Linux (Raspberry Pi).? ?I did have to update the firmware inside the Sprog to get away from device-signing issues (there's a return option to do this via the Sprog's maker).??


- Nigel


------ Original Message ------
From "Phil G" <phil@...>
Date 28/05/2024 16:43:10
Subject Re: [jmriusers] Latest decoder definitions.

It’s possible, but fraught with bad surprises

You COULD just change the decoder definitions to newer ones, but what if a new decoder definition also needs a newer version of DecoderPro.?

Is there any reason you don’t want to just upgrade DecodrrPro?

Phil G

On 28 May 2024, at 16:34, Paul Evans via groups.io <paul@...> wrote:

?I have an old Sprog 2 associated with a Vista laptop.? Is there a way of just upgrading the decoder definition XML file??? Many many moons age Peter gave a way of doing this.

If yes where does it go.? I only use default locations.


Paul Evans


Locked Re: Latest decoder definitions. #definitions

 

开云体育

It’s possible, but fraught with bad surprises

You COULD just change the decoder definitions to newer ones, but what if a new decoder definition also needs a newer version of DecoderPro.?

Is there any reason you don’t want to just upgrade DecodrrPro?

Phil G

On 28 May 2024, at 16:34, Paul Evans via groups.io <paul@...> wrote:

?I have an old Sprog 2 associated with a Vista laptop.? Is there a way of just upgrading the decoder definition XML file??? Many many moons age Peter gave a way of doing this.

If yes where does it go.? I only use default locations.


Paul Evans


Locked Latest decoder definitions. #definitions

 

I have an old Sprog 2 associated with a Vista laptop.? Is there a way of just upgrading the decoder definition XML file??? Many many moons age Peter gave a way of doing this.

If yes where does it go.? I only use default locations.


Paul Evans


 

开云体育


Even for "just a programming track", I'd take the jumper wires out to a switch to swap between "program" and "run".? ?Because the programming track can then be used for quick test-running to confirm that settings are basically as wanted, and saves constantly moving loco between two places.? ?

It also allows you to use "programming on the main", which for more complex changes can be a lot quicker than "service mode programming track" changes.? ? If the initial values have been read into JMRI on programming track, the entry in the JMRI Roster has those values, so changes are always a change from the known saved values.??



- Nigel


------ Original Message ------
From "Adrian Simpson" <adrian@...>
Date 28/05/2024 15:41:40
Subject Re: [jmriusers] Zimo MX616 #definitions #zimo

Thanks all, and in particular Nigel.

I removed the jumper on the CANCMD, and it now works.? I was able to "find" the loco in question on my set up plank, and I've done what I wanted to do (limit the top speed).

As the CANCMD is only likely to be used in programming track mode, I'll leave the jumper off.

Adrian
--
No spam please, we're British


Locked Re: Why Listen to Turnout in LogixNG Doesn't Trigger #logixng

 

Ken,

Quite true. ?

Note: ?In the reversing scenario with SML based sections, the old section will be become FREE and the new section will become NOT FREE.

Dave Sand


----- Original message -----
From: Ken Heywood <kheywood@...>
Subject: Re: [jmriusers] Why Listen to Turnout in LogixNG Doesn't Trigger #logixng
Date: Tuesday, May 28, 2024 9:07 AM

Here is the importance of considering all automation scenarios, Dave.
There is one instance where an automated train will not clear the detection section before reversing on the next transit.
Having not cleared the section, the direction indicator will not reset.
Since sequencing is only important to automation, I'm adding a check of the forward SML sensors as a conditional on the direction indicator sensors.
--
Ken
NYNH&H, Old Colony Division, Cape Cod Branch (1949-1959)
Loconet * JMRI 5.7.7 * OSX,Win10,Ubuntu
Blog: ?


 

Thanks all, and in particular Nigel.

I removed the jumper on the CANCMD, and it now works.? I was able to "find" the loco in question on my set up plank, and I've done what I wanted to do (limit the top speed).

As the CANCMD is only likely to be used in programming track mode, I'll leave the jumper off.

Adrian
--
No spam please, we're British