Goals and Symptoms
The attached code shows an example of how to set the controllers TOD with IEC FBD logic.
Causes and Fixes
Step | Action | Description |
1 | Write a value of 0000H to the TOD control register | This stops the clock. |
2 | Write the new TOD data to the clock registers | These are the values the clock will start from when the final command is processed. |
3 | Write a value of 8000H to the TOD control register | This commands the TOD to read in the new values. Once the PLC is finished reading in the new data, the register will return a value of 2000H. |
4 | Write a value of 4000H to the TOD command register | This starts the clock. Once running, the TOD registers will be updating and the TOD command register will return a value of 6000H. |
The steps above must be done one per scan so the solve order in the example code is important for this function.
The controllers TOD clock is set to start at register 400001.
Step #1:
The operation is initiate by setting Boolean Stop_Clock to rising edge 1.
The variable Stop_Code (0000Hex) is sent to the TOD control register thus stopping the clock.
Setting rising edge Boolean Set_Time to 1.
Step#2
From the previous step Set_Time is a logical one, thus enabling all of the MOVE blocks which contain the desired replacement time values.
The last MOVE block triggers a rising edge READ_CLOCK sending READ_CODE 8000Hex to the TOD control register.
Step#3
The next scan Start_Code 4000Hex is sent to the TOD control register starting the clock with the previously loaded replacement time values.
Legacy KB System (APS) Data: RESL169004 V1.0, Originally authored by on , Last Edited by on
Related ranges: Concept