Hi Ricardo,
I found very very useful your QTester application to check RTU system. Now I tried to send command using your application without success. In particular I nedd to send float value to IOA object so I use the command type 50 (C_SE_NC_1) providing following parameter:
Command Address : 9
Command value: 150
ASDU Addr: <empty>
and when I confirm with the "Send Command" button in the IEC Server the IOA object (nr. 9) dorsn't receive the passed value (150).
In the log I recevive following lines:</empty>
21:17:57 R--> 006: 68 04 43 00 00 00
TESTFRACT
T<-- TESTFRCON
21:18:17 T<-- FLOAT COMMAND ADDRESS 9 VAL 500 CA 1 SE 1
R--> 020: 68 12 a0 02 32 00 32 01 45 00 01 00 09 00 00 06 00 fa 42 00
CA 1 TYPE 50 CAUSE 5 SQ 0 NUM 1
NEGATIVE FLOAT COMMAND ADDRESS 9 VAL 125 QL 0 SE 0
21:18:21 T<-- SUPERVISORY 2a2
Thanks for your comments about QTester104.
Please be sure to use the latest (1.21) version of QTester104.
The slave (IEC Server) maybe is not expecting the command with select-before-operate ("SE 1" in the log of command sent and "SE" 0 in response) , please try to send the command without the SBO box checked in QTester104.
I've simulated QTester104 with Enilit CMS as a slave (you can request a demo of it at http://www.enilit.lt ). It worked perfeclty, note that the value sent 150 is replicated back to the slave confirmation proving that it is correct. Please try to simulate with this software also.
I couldn't explain (and repeat) the fact that you have put 150 and QTester sent 500 and the return from the slave was 125. Please be double check select command type 50, command duration 0, no SBO.
Please check also if the slave is correctly programmed for size of objects (Object address size = 3 bytes, Object address structure: unstructured, etc.).
See below the successful simulation:
WithoutSBO:17:08:04T<-- FLOAT COMMAND ADDRESS 9 VAL 150 CA 1 SE 0R-->020:681230001e003201070201000900000000164300CA1TYPE50CAUSE7SQ0NUM1ACTIVATIONCONFIRMATIONPOSITIVEFLOATCOMMANDADDRESS9VAL150QL0SE0COMMANDACTCONFINDICATION<-- BDTR: COMMAND ACCEPTED BY IEC104 SLAVER-->020:681232001e0032010a0201000900000000164300CA1TYPE50CAUSE10SQ0NUM1ACTIVATIONTERMINATIONPOSITIVEFLOATCOMMANDADDRESS9VAL150QL0SE0COMMANDACTTERMINDICATIONWithSBO:17:08:49T<-- FLOAT COMMAND ADDRESS 9 VAL 150 CA 1 SE 1R-->020:6812340020003201070201000900000000164380CA1TYPE50CAUSE7SQ0NUM1ACTIVATIONCONFIRMATIONPOSITIVEFLOATCOMMANDADDRESS9VAL150QL0SE1COMMANDACTCONFINDICATIONT<-- FLOAT COMMAND ADDRESS 9 VAL 150 CA 1 SE 0R-->020:6812360022003201070201000900000000164300CA1TYPE50CAUSE7SQ0NUM1ACTIVATIONCONFIRMATIONPOSITIVEFLOATCOMMANDADDRESS9VAL150QL0SE0COMMANDACTCONFINDICATION<-- BDTR: COMMAND ACCEPTED BY IEC104 SLAVER-->020:68123800220032010a0201000900000000164300CA1TYPE50CAUSE10SQ0NUM1ACTIVATIONTERMINATIONPOSITIVEFLOATCOMMANDADDRESS9VAL150QL0SE0COMMANDACTTERMINDICATION
Best regards.
Ricardo
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Ricardo,
thanks for your reply. Was a very pleasure.
I asking to dowload the suggested Enilit simulator. In the meanwhile I try your suggestion so using the IEC-TestServer (https://sourceforge.net/projects/iecserver/) cleaning some configuration (the previous log was not correct ... sorry) now I receive this messages.
12:07:55 T<-- FLOAT COMMAND ADDRESS 9 VAL 150 CA 1 SE 0
R--> 020: 68 12 12 00 14 00 32 01 45 00 01 00 09 00 00 ea ff 15 43 00
CA 1 TYPE 50 CAUSE 5 SQ 0 NUM 1
NEGATIVE FLOAT COMMAND ADDRESS 9 VAL 150 QL 0 SE 0
12:07:59 T<-- SUPERVISORY 14
With SBO:
12:08:04 T<-- FLOAT COMMAND ADDRESS 9 VAL 150 CA 1 SE 1
R--> 020: 68 12 14 00 16 00 32 01 45 00 01 00 09 00 00 ea ff 15 43 00
CA 1 TYPE 50 CAUSE 5 SQ 0 NUM 1
NEGATIVE FLOAT COMMAND ADDRESS 9 VAL 150 QL 0 SE 0
12:08:06 R--> 006: 68 04 01 00 16 00
SUPERVISORY
12:08:08 T<-- SUPERVISORY 16
Is it possible the this simulator doesn't accept writing/command operation ? beacuse for each command I receive always NEGATIVE message.
This IEC-Server is very simple and intuitive to install and configure. Do you already see and use this software ?
Thanks again dear Ricardo
hace a nice day
Beppe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Beppe
Ahhh I've found the problem: IEC Server expects the link address from master to be 0 (zero). So just put 0 in the Local Link Address of QTester104, then things will start working.
I think also there is some problem with precision of float values in IEC Server as it is not returning exact values it receives for float commands type 50.
Hope you can make it work now!
Regards
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Ricardo
no nothing. I follow your suggestion inserting zero (0) in the Local Link Address but now I receive the log "command rejected by the IEC104 Slave"
was frustrating :(
Do you have 5 minutes for me for a teamviewer connection so I oculd show the issue ?
no problem if you are not available
Thanks in advanced
Beppe
YEAHHHHHHH !!!
Found the mistake ! In the IEC Server I used the incorrect type now Using the command type ID I'm able to write value. Sorry if I trouble you but I'm starting now to discover this world
Thanks thanks thanks for your support
Nice day
Beppe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Great! See screenshot of working config.
I still think there is some problem with float values in IEC Server.
If I send value 500 it gets 125, if I send 999 it gets 994.993!
Yes I tried different write and I agree with you in some cases values are divided by for in other cases there is a strange rounding but now I could test in a true RTU testing. I'll update you during my work if you have pleasure !
Thanks Ricardo for your help
Ciao !
Beppe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok Beppe, please keeep me informed of the results.
If you need any help feel free to ask for.
Maybe you should file a bug report in the IEC Server project.
Regards,
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Ricardo,
I found very very useful your QTester application to check RTU system. Now I tried to send command using your application without success. In particular I nedd to send float value to IOA object so I use the command type 50 (C_SE_NC_1) providing following parameter:
Command Address : 9
Command value: 150
ASDU Addr: <empty>
and when I confirm with the "Send Command" button in the IEC Server the IOA object (nr. 9) dorsn't receive the passed value (150).
In the log I recevive following lines:</empty>
21:17:57 R--> 006: 68 04 43 00 00 00
TESTFRACT
T<-- TESTFRCON
21:18:17 T<-- FLOAT COMMAND ADDRESS 9 VAL 500 CA 1 SE 1
R--> 020: 68 12 a0 02 32 00 32 01 45 00 01 00 09 00 00 06 00 fa 42 00
CA 1 TYPE 50 CAUSE 5 SQ 0 NUM 1
NEGATIVE FLOAT COMMAND ADDRESS 9 VAL 125 QL 0 SE 0
21:18:21 T<-- SUPERVISORY 2a2
I tried also to use the following IEC Server simulator : https://sourceforge.net/projects/iecserver/
but nothing I'm not able to send values by QTester104
Where is my mistake ? :-( :-(
Thanks in adavanced for your very very appreciated support
Kind regards
Beppe
Dear Beppe,
Thanks for your comments about QTester104.
Please be sure to use the latest (1.21) version of QTester104.
The slave (IEC Server) maybe is not expecting the command with select-before-operate ("SE 1" in the log of command sent and "SE" 0 in response) , please try to send the command without the SBO box checked in QTester104.
I've simulated QTester104 with Enilit CMS as a slave (you can request a demo of it at http://www.enilit.lt ). It worked perfeclty, note that the value sent 150 is replicated back to the slave confirmation proving that it is correct. Please try to simulate with this software also.
I couldn't explain (and repeat) the fact that you have put 150 and QTester sent 500 and the return from the slave was 125. Please be double check select command type 50, command duration 0, no SBO.
Please check also if the slave is correctly programmed for size of objects (Object address size = 3 bytes, Object address structure: unstructured, etc.).
See below the successful simulation:
Best regards.
Ricardo
Hi Ricardo,
thanks for your reply. Was a very pleasure.
I asking to dowload the suggested Enilit simulator. In the meanwhile I try your suggestion so using the IEC-TestServer (https://sourceforge.net/projects/iecserver/) cleaning some configuration (the previous log was not correct ... sorry) now I receive this messages.
Command Address : 9
Command value: 150
ASDU Addr: <empty>
Command Type: 50 - C_SE_NC_1</empty>
Without SBO:
12:07:55 T<-- FLOAT COMMAND ADDRESS 9 VAL 150 CA 1 SE 0
R--> 020: 68 12 12 00 14 00 32 01 45 00 01 00 09 00 00 ea ff 15 43 00
CA 1 TYPE 50 CAUSE 5 SQ 0 NUM 1
NEGATIVE FLOAT COMMAND ADDRESS 9 VAL 150 QL 0 SE 0
12:07:59 T<-- SUPERVISORY 14
With SBO:
12:08:04 T<-- FLOAT COMMAND ADDRESS 9 VAL 150 CA 1 SE 1
R--> 020: 68 12 14 00 16 00 32 01 45 00 01 00 09 00 00 ea ff 15 43 00
CA 1 TYPE 50 CAUSE 5 SQ 0 NUM 1
NEGATIVE FLOAT COMMAND ADDRESS 9 VAL 150 QL 0 SE 0
12:08:06 R--> 006: 68 04 01 00 16 00
SUPERVISORY
12:08:08 T<-- SUPERVISORY 16
Is it possible the this simulator doesn't accept writing/command operation ? beacuse for each command I receive always NEGATIVE message.
This IEC-Server is very simple and intuitive to install and configure. Do you already see and use this software ?
Thanks again dear Ricardo
hace a nice day
Beppe
Dear Beppe
Ahhh I've found the problem: IEC Server expects the link address from master to be 0 (zero). So just put 0 in the Local Link Address of QTester104, then things will start working.
I think also there is some problem with precision of float values in IEC Server as it is not returning exact values it receives for float commands type 50.
Hope you can make it work now!
Regards
Dear Ricardo
no nothing. I follow your suggestion inserting zero (0) in the Local Link Address but now I receive the log "command rejected by the IEC104 Slave"
was frustrating :(
Do you have 5 minutes for me for a teamviewer connection so I oculd show the issue ?
no problem if you are not available
Thanks in advanced
Beppe
YEAHHHHHHH !!!
Found the mistake ! In the IEC Server I used the incorrect type now Using the command type ID I'm able to write value. Sorry if I trouble you but I'm starting now to discover this world
Thanks thanks thanks for your support
Nice day
Beppe
Great! See screenshot of working config.
I still think there is some problem with float values in IEC Server.
If I send value 500 it gets 125, if I send 999 it gets 994.993!
Yes I tried different write and I agree with you in some cases values are divided by for in other cases there is a strange rounding but now I could test in a true RTU testing. I'll update you during my work if you have pleasure !
Thanks Ricardo for your help
Ciao !
Beppe
Ok Beppe, please keeep me informed of the results.
If you need any help feel free to ask for.
Maybe you should file a bug report in the IEC Server project.
Regards,