Issue
Setting the values of the X Driver points that is set up for Function code 15 (Force Multiple Coils) does not send out data.
Environment
bCX1 4040, 9640
Netcontroller II with X Driver, XDriver, X-Driver.
Cause
As an array of bits has to be transmitted to the 3rd party system it has to come from the Annex point not the X Driver point itself.
Resolution
The data to be sent to the 3rd party Modbus device is held in a manual array in the AnnexPoint not the X Driver point itself.
Create an X Driver point on the required Comm port and define:
- The correct slave number
- Function code 15.
- Define the Start channel address
- Enter the number of Bits to be written in the "Number Of Channels"
- In the AnnexPointName enter the name of the separate Numeric point that will hold the data to be written.
Ensure that the Annex point has a manual array of at least the size of the number of channels (bits) to be written.
Fill each of the array entries with 0 or 1 as required to be sent.
This can be done through Command line or Plain English:
For example if the system is writing to 4 relay outputs, through command line you would enter the data as:
Annexpt = 1 'Relay 1 = On
Annexpt[1] = 1 'Relay 2 = On
Annexpt[2] = 1 'Relay 3 = On
Annexpt[3] = 0 'Relay 4 = Off
Then change the value of the X Driver point to force the data to be sent.