Applies To:
  • CitectSCADA 3.00

Question: If I call TagWrite when the associated physical IO Device is offline, it will return 0. Should it return an error code? 

When you call TagWrite, the tag name is checked to make sure it exists. If the tag does not exist then an error is returned. If the tag exists then the write request is passed to the I/O Server and the TagWrite function will return. The actual write request will complete async to the execution of your cicode. Because of this you cannot tell if the write has completed by checking the return value from TagWrite. If the write fails a hardware error will be generated so you will be notified as to the failure of the write. The TagWrite does not return an error if the unit is offline as the unit may come online soon and the write may be able to be completed. The main reason for this is so that the TagWrite can execute async writes, this greatly increases the performance of this function.