Sign in to follow this  
Followers 0
Guest ketaciturn

protocol Help!

34 posts in this topic

Very new to protocol programming, can someone help me on this... $~(R(DM 5100),24) What do the above indicate? It's type is Variable ASCII Reverse(What is this!?). And Correct me if i'm wrong, R(DM 5100) implies read data from DM 5100? How about the 24 following it? What is Primary Expression? what is yN+x Is there any source regarding how to program protocol? Thanks folks!

Share this post


Link to post
Share on other sites
From my memory with out looking it up.... Read from start address DM1500.... Length of 24 Char.... Reversiable ASCII.... Two chracters can be stored in a single word.... for example DM1500 could contain 3132 which is the ascii code for 1 & 2 respectively..so reversable ASCII i believe means that the order will be reversed... ie 2 & 1 Have you donwloaded the communication manuals or protocol software manual from the Omron site if you cannot find it here in the Omron download section ?

Share this post


Link to post
Share on other sites
CX Protocol Manual

Share this post


Link to post
Share on other sites
Thank you Jay and Sleepy.. Can u please further elaborate this? As in my case, the check code <c> is Sum(0) (2Byte ASCII), so what is the check sum data it will accept? is it X00(Hex) where X represent any value. p.s. Thanks again to Jay that u did answer me in plcs.net too, but i don't know my posting in 2 web site forum will make the experts unhappy...

Share this post


Link to post
Share on other sites
You are right. It is a SUM(0)(2)byte ASCII in the protocol that you posted. You don't feed the <c> with a value. It will place the correct checksum in this field based on what you indicate in BLUE See if this helps:

Share this post


Link to post
Share on other sites
Sorry... Still abit confuse.. That means for <h> + "01FFWW5R08000801000000" + $~(R(DM 5100),24) + <c> + <t> the check sum will be last 2 byte of the sum of the BLUE eventhough the checkcode is sum(0)(2 Byte ASCII). In other words, the check sum will be the sum of BLUE but not 0 as indicate by "sum(0)"? What is the role DM5100~DM5105 play in the BLUE? If the check sum will be the sum of the BLUE, then that means if DM5100~DM5105 change, the check sum will change also? If the check sum is to 00 as indicate "sum(0)", then DM5100~DM5105 need to be a specific value so that 00 check sum can be obtained? Quite confuse here.... P.s. Thanks for the patient... p.p.s. The link of the CX-protocol manual is not available..

Share this post


Link to post
Share on other sites
The link works fine. CX Protocol Manual

Share this post


Link to post
Share on other sites
Thanks! The link works fine.. I've downloaded the protocol manual, and will have a look in it before i ask some more silly question...

Share this post


Link to post
Share on other sites
<h> + "01FFWW5R08000801000000" + $~(R(DM 5100),24) + <c> + <t> with reference to the protocol, the send message already consist of where it should get the data from plc, so in PMCR instruction, is it still neccessary to put in value, or #0 and dummy address will do, for the plc to communicate with servo? If just looking at the protocol, is there anyway that we can know the correct way of writting the PMCR instruction? Edited by ketaciturn

Share this post


Link to post
Share on other sites
Without a manual for the serial communication of the device to which you are communicating, you only have "half the story." Before writing a protocol macro, you must understand the protocol or at least have a good sample of both sides of the communication (command and response.)

Share this post


Link to post
Share on other sites
Let's assume that there is no problem with the protocol that i've sent to u, and the PMCR instruction is wrtten as PMCR #1100 #0000 DM5130 And there is a Error Flag 25503 to check the error. I always get the error as the PMCR instruction been executed. No matter the 25503 Error Flag is ---| |---- or ----|/|---- I still get the error. And do you have any ideas that why this 'phenomena' is happening, causing the servo can't communicate with PLC... p.s. Thanks for everything..

Share this post


Link to post
Share on other sites
What is the value of DM5130? DM5130 needs to be zero before executing the PMCR.

Share this post


Link to post
Share on other sites
What is the status of all the LEDs on the Comm Board when the Error occurs? What is the Part number of the Comm board?

Share this post


Link to post
Share on other sites
The communication board is C200HW-COM06-EV1 . And the lamp indicator status as follow, Ready light is on Comm B is Flashing (Connected to Touch Panel) Comm A is not Flashing and not ON (Connected to Servo Driver) While PLC lamp indicator (C200HG-CPU33) RUN is ON Err is Blinking -- As refers to CX-Programmers, the error is due to the 25503 Error Flag.

Share this post


Link to post
Share on other sites
Please tell us the source of the error:

Share this post


Link to post
Share on other sites
Sure... The Error Log is as follow:

Share this post


Link to post
Share on other sites
And i think the error is due to the error flag 255.03 as below: Edited by ketaciturn

Share this post


Link to post
Share on other sites
I can't find where you posted the .psw file. I need to look at some settings. Can you post it again? Also, make sure it is a recent uploaded protocol.

Share this post


Link to post
Share on other sites
Here we go again... Hope the problem will be solved... Edited by ketaciturn

Share this post


Link to post
Share on other sites
OK...I'm on the road right now and I didn't have the file on this computer. Thanks for reposting it. I can find nothing wrong with the three operands for the PMCR instruction. This leads me to believe one of two things: 1. The protocol has not been downloaded to the Comm Board (I doubt this one because you have uploaded the protocols on July 14.) 2. Port A has not been properly set for Protocol Macro. The settings for the Port are not downloaded with the Protocol. They must be downloaded seperately. Please upload the port settings using the below procedure and verify that the Port A is set for Protocol Macro.

Share this post


Link to post
Share on other sites
Is there any third possibility beside these two? I remembered i've edited the setting for port A.. But anyhow i will reconfirm it again tomorrow (It's midnight here..)

Share this post


Link to post
Share on other sites
OK... with the resources I have currently with me on the road.... 3. If the Port Enabled Flag is OFF for the specified port when PMCR is executed. Since I don't have the books with me, I am not sure of the port enabled flag bit number (although 289.08 sounds suspiciously familiar...this really ought to be normally open.) You may need to do some research. Are there any other PMCR or TXD/RXD instructions accessing port A anywhere else in the program?

Share this post


Link to post
Share on other sites
From the cx-protocol manual that i downloaded from u (Which is the only source of reference for now), i found this at first:

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
Sign in to follow this  
Followers 0