Генератор зла » Пт янв 22, 2016 5:47 pm
Поискал тут:
1.
DASMBTCP unsupported function code 1
ANSWER
A function code 1 is an attempt to read 0xxxx registers. This message can occur if some addresses are accidently missing a character. (Example: trying to read 4001 instead of 40001) Please look into the DAServer Diagnostics – Messages. There may be one or more messages that have errors. If any one item has a problem, the entire message will be ruined. Please check the items within any bad messages to make sure they are valid items in the PLC and also verify that they are not missing any characters in the item address.
2
DASMBTCP V3.0 Poking <u>True</u> writes a <u>False</u> to Some Coil Addresses without Leading Zeros
Legacy Tech Alert #
178
Situation
Problem/Issue
Writing a True from a client to a coil (discrete output) through the MBTCP DAServer 3.0 results in writing a False to that coil if the coil does not have leading zeros (0).
Wonderware Technical Support's investigation confirms that this issue only happens if the discrete output registers in the client application use the data format without leading zeros.
This issue is a potential safety issue and is classified as a P1 (Priority One).
Application Versions
DASMBTCP 3.0
Cause/Details
A discrete output register (also referred to as coil register) can be expressed as 1, 2, 100, 234, 6890 and so forth without leading 0s. These coil registers can also be expressed with leading 0s. For example, 00001, 00002, 00100, 00234, 06890 for 5-digit data format, and 000001, 000002, 000100, 000234, 006890 for 6-digit data format.
When writing a True (or 1) to a coil address in the PLC from a client application such as InTouch or Application Server, the DAServer will write a False (or 0) to the PLC instead.
Further tests have shown this issue only occurs if the discrete output registers in the client application start with 3, 4, and 6 and do not use leading zeros. For example:
Writing a True to coil address 31 results in a False being sent to the PLC.
Writing a True to coil address 401 results in a False being sent to the PLC.
Writing a True to coil address 601 results in a False being sent to the PLC.
Our tests confirm if you poke True to the discrete output registers with leading 0s filled-in, the poke is successful. For example:
Writing a True to coil address 000031 results in a True being sent to the PLC.
Writing a True to coil address 000401 results in a True being sent to the PLC.
Writing a True to coil address 000601 results in a True being sent to the PLC.
Solution/Corrective Action
This issue is resolved in MBTCP DAServer and MBTCP DIObjects Version 3.0 SP1. This version is available for download in the Software Downloads section of the WDN (under Device Integration > Product Version: Modbus).
Vita est dolor.