I am sure some body know this please help

Well, if you can't afford the card for DH+, serial is also possible. You just have to make sure you turn off the RSLinx while running your VB and vice versa.
 
Well DaveW I really do not understand where are you trying to lead me out when you say
<<Do a search on this forum and I bet you will find a lot of information on how to setup the RSLinx RS-232/DF1/Ch0 serial communication>>
We have a VB OPC client app running perfectly using RSlinx already setup and the error checking mode is set to BCC.when I changed to CRC RSlinx lost communication with the plc and this is because the plc is set to BCC

Trough hardware I think that the error checking mode can not be change and you say that it can be change using RSlogix5 i try today at work and can not find a way to do it

Now using RSlinx you say
<< Once online, if you change a parameter, the processor will be put into program mode (stop) and you will lose communication. You will have to go back into RSlinx and reconfigure/auto configure the serial port if you need to go online again or put the PLC into run mode (or use the key in front of the CPU).

>>


When you say, if you change a parameter what you mean with that please can you elaborated that a littler bit more



Best regards Hidroilio Perez
 
Ok, I was uncleared you have RSLinx working already with another VB/OPC app.

What I’m trying to say is that you will need to use RSLogix5 to go online to the PLC using the RSLinx RS232/DF1 serial driver that is already working and change the PLC serial port (Channel 0) parameters (baud, stop, parity, BCC/CRC, etc). Once online, click the Channel Configuration branch on the project tree to the left of the screen, select the Channel 0 tab, and under Error Detect, change it from BCC to CRC. As soon as you apply this change, RSLogix5 will ask you to confirm switching the CPU from RUN to PROGRAM mode so that it can make the change. When you confirm Yes, the processor is stopped and logic is no longer scanned (your machine is stopped!) until you put it back into RUN mode. But because you change a serial port parameter, RSLinx will fail because it’s looking for BCC still. Your RSLogix5 will timeout because it needs RSLinx. You will need to reconfigure RSLinx for CRC, go back online and put the processor back into RUN mode or use the Key in front of the CPU.

 
Ho men how ease it was that’s the price that we pay when we do not know something I should know that. hey thanks for hanging we my ignorance



Best regards Hidroilio Perez:eek:
 
Need help with my project
I trying to read on the binary file B3/10 in a plc5 when I send this command (typed read (read block)) using Checksum=CRC
Command send
|16|2|0|0|15|0|58|0|104|0|0|1|0|15|0|3|10|0|1|0|16|3|137|126

The respond from the plc is

DLE|STX| SRC|DST| CM|STS| TNN | A | B |DLE|ETX |CRC|
|16 | 2 | 0 | 0 | 79 | 0 | 58 | 0 |153|9|3|66|16|16|0 | 16 | 3 |87|88



The first byte of the type/data parameter is the flag byte,

According to my finding 153 the flag byte

153 Dec converter to binary =10011001

1 Id Format Field
001 Id Value Filed
1 Size Format Field
001 Size Value Field
My problem is that I can not figure it out how to read the B part 9|3|66|16|16|0

Any body help my out how to interpreter this enigma

Best regard Hidroilio Pérez:unsure:
 
First, you should make SRC and DSTR different. Make SRC 0 and DST 1.

Second, the "B" data is 16 therefore it should be followed by another 16. Read the rule on DLE!

No offense but you are having problems with the simple stuff, how will you deal with timeouts and responses?
 
Jiri Toman thanks for you help and don’t worry about offence I am hanging in here just to learned i mean just to pick the good stuff like
First, you should make SRC and DSTR different. Make SRC 0 and DST 1.

Second, the "B" data is 16 therefore it should be followed by another 16. Read the rule on DLE!

I meant to say peel off the second 16 in the reply message.

But this:
you are having problems with the simple stuff, how will you deal with timeouts and responses?
I just garbage, ignored



Ones a again thanks for your help and have a good day



Best regards Hidroilio Pérez



 
I am sorry but is my again

Does any one know what the tag mean in the
Protected typed file read command
100.GIF


I search the entire documentation and do not find reference no where
That explain what it is
I am trying to use to read a Micrologix 1000


Best Regards Hidroilio Pérez:oops:
 
You got me here. I don't know. Put in numbers sequentially and sniff it out. There is an example on the same page for "protected typed file write" but that doesn't help much either.

Let me know what you find out.
 
Msinclair you where right you get the tag information when you open the file to work with (with the open file command on pag 7-13)

Jiri Toman after playing for a littler bit this are my results
I used this command to open

visual basic code:
WriteToSend = Chr(16) + Chr(2)
'destination and source
WriteToSend = WriteToSend + Chr(RemoteNodeAddress) + Chr(DHNodeAddress)
'command type
WriteToSend = WriteToSend + Chr(15)
'status of the message
WriteToSend = WriteToSend + Chr(MessageStatus)
'transaction value 2 bytes long
WriteToSend = WriteToSend + Chr(TransactionNumber) + Chr(0)
'function
WriteToSend = WriteToSend + Chr(129)
'Protection
WriteToSend = WriteToSend + Chr(3)
'FileNumber 2bytes
WriteToSend = WriteToSend + Chr(3) + Chr(0)
'FileType
WriteToSend = WriteToSend + Chr(133)
'termination of the message
WriteToSend = WriteToSend + Chr(16) + Chr(3)
And get the tag
lowtag = Asc(Mid(WriteFromPlc, 9, 1))
hightag = Asc(Mid(WriteFromPlc, 10, 1))

and send this one to write

WriteToSend = Chr(16) + Chr(2)
'destination and source
WriteToSend = WriteToSend + Chr(RemoteNodeAddress) + Chr(DHNodeAddress)
'command type
WriteToSend = WriteToSend + Chr(15)
'status of the message
WriteToSend = WriteToSend + Chr(MessageStatus)
'transaction value 2 bytes long
WriteToSend = WriteToSend + Chr(TransactionNumber) + Chr(0)
'function
WriteToSend = WriteToSend + Chr(175)
'Size
WriteToSend = WriteToSend + Chr(2)
'tag 2bytes
WriteToSend = WriteToSend + Chr(lowtag) + Chr(hightag)
'Offset
WriteToSend = WriteToSend + Chr(0) + Chr(0)
'filetype and data to write
WriteToSend = WriteToSend + Chr(133) + Chr(128) + Chr(0)
'termination of the message
WriteToSend = WriteToSend + Chr(16) + Chr(3)

And send finally this to close it

WriteToSend = Chr(16) + Chr(2)
'destination and source
WriteToSend = WriteToSend + Chr(RemoteNodeAddress) + Chr(DHNodeAddress)
'command type
WriteToSend = WriteToSend + Chr(15)
'status of the message
WriteToSend = WriteToSend + Chr(MessageStatus)
'transaction value 2 bytes long
WriteToSend = WriteToSend + Chr(TransactionNumber) + Chr(0)
'function
WriteToSend = WriteToSend + Chr(130)
'tag 2bytes
WriteToSend = WriteToSend + Chr(lowtag) + Chr(hightag)
'termination of the message
WriteToSend = WriteToSend + Chr(16) + Chr(3)

before
bittablebefore.gif


after
bittable.gif


The code change the word B3:0
But actually this is not what I want I want to change just the bit B3:0/7



Best regards Hidroilio Pérez
 
Last edited:

Similar Topics

I met the problem when design the control cabinet sometime does not match with the side of material (the enclosure too small after installed the...
Replies
7
Views
5,811
Does anyone have experience wiring this type of analog pressure transmitter up? It's 4 wires. 3 blacks and 1 green which I assume is earth...
Replies
9
Views
294
I need an enclosure for wifi access points that will be outdoors. The antennas will mount outside the box but everything else inside. Standard...
Replies
4
Views
166
I've gotten to the learning curve where I can program a call for pump to come on at set point but I'm not sure how to turn the same pump off when...
Replies
1
Views
145
I need to protect some pressure transmitters from hot (120°C) oil. Does anyone have a favorite transmitter cooling element/standoff they use...
Replies
4
Views
179
Back
Top Bottom