Jimmah

SLC500 Emulator Channel 0 Issue

1 post in this topic

I'm trying to use the SLC500 Emulator to troubleshoot a communications issue that I am having.

I was given a ladder program written by others for a SLC-5/05 that uses ASCII commands to communicate with a foreign device (in this case a Union Switch and Signal Microlok II controller talking their Genisys protocol). The software has been running for several years without issue however when I expanded the message lengths for my specific application, all hell broke loose (or in short, it no longer wanted to communicate or communicates erratically). To make matters worse, the ladder is not annotated/commented very well. I was able to do some recording/analysis of the communications channel in the field and verified that it is most certainly an issue with the ladder logic in the AB CPU.

I am now trying to use the SLC500 Emulator from RA to attempt to troubleshoot the issue. I have a Genisys protocol emulator program (written by the OEM) running on the same computer as the emulator. I am using a virtual serial port redirector from Eltima to basically create a pair of new ports (2 and 3) to allow the two programs to communicate with one another.

When I get everything running (I start with the SLC emulator), I can see the Genisys messages being generated by the Genisys emulator and via RSLogix, I can see port activity in the SLC program via the ACB block. Every Genisys message ends with an F6(h) byte and this is set up in the Channel 0 USER tab under Termination 1, i.e. \F6. Normally, the message arrives at the SLC port, the ACB instruction EN bit goes high and when the end of message byte is received, the DN bit becomes true. That in turn triggers an ARL function that reads the contents of the buffer and then the program goes on to disassemble the message and act upon it.

The problem however is that the emulator is not setting the DN bit when the F6 byte shows up. The master (Genisys) station, not receiving a response, sends out another message and this continues until the buffer in the emulator fills up.

Note that this is not the actual problem that I am having with the software. When it runs in the field with actual hardware, it receives and responds to the mater station's messages (and hence, the F6 termination bytes). However I am wondering if anyone may know why the emulator does not see the F6 terminator or simply does not set the ACB's DN bit assuming that it does.

I do have a SLC-5/05 that I can set up on the bench and that will be my next approach if I cannot get the emulator to work. I just figured that I'd use the software approach.

Thanks in advance for your help and insight!
J

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now