Hi,
I guess I had once a similar issue with RSLinx (however, with NI Lookout as OPC client). I assume, the RSLinx OPC server does not allow you to browse to the digital/boolean OPC item and that you configure the "hidden" item manually (What is the item name, what is the PLC device?). In addition, I assume, that this item does not report the VT_Type (OPC item type) correctly as boolean, thus our OPC client (DSC's OPC client) cannot cast the value correctly to a LabVIEW boolean/Discret Tag.
When you say, "publish/subscribe a bool ctrl to a RS Linx server" - do you mean you are using Datasocket's OPC interface, or do you have a Logos subscription to the DSC Engine and a Tag that connects to the OPC server, RSLinx?
When you say, "It doesnt happen when using the ... Kepware OPC" - Do you mean you use Kepware as OPC client (to test the RSLinx server) or a Kepware OPC server (to test the DSC/Datasocket OPC client)?
What PLC on RS Linx side are you using?
Could you test in Server Explorer, and connect to the item and tell what properies this item will have? I would be interessed in the datatype.
Could you try to use the synchronous OPC interface of the DSC OPC client? What are your OPC client deadband/update rate settings?
The best would be if you could attache a small example (VI, .scf, and RSLinx OPC server configuration) that would demonstrate the behavior. Thus, National Instruments might figure out better if there is a misbehavior in the OPC client(s) or if it is a limitation of the RSLinx OPC server.
Here, some useful links to troubleshoot OPC issues...
Using RSLinx OPC ServerTools for Troubleshooting OPC Interface ProblemsWhy Does DataSocket Report Different Data Types in Read Mode Than in Write Mode? This might be not related and could apply as well to LabVIEW(?)
Refer as well to the LabVIEW G Programming Reference Manual Appendix A where it explaines the format of the Boolean datatype. You might workaround the issue by type casting the numeric value to a boolean or vice versa.
Hope this helps
Roland
PS: the attachement was just a little boolean typecasting test. Maybe not usefull at all...