Looking for any advice out there in regards to a communication strategy between Visual Studio 2013 C# windows application and either an HMI builder such as National Instruments Lookout or my Do-More PLC. The tags/values I want to communicate include bits, integers and strings.
I have a few possible ideas, each pose their own complications.
My first thought is to go with a TCP Modbus communication, but with some light researching I am finding that it would require a possible untrustworthy 3rd party library/namespace and would require some unnecessary complication in regards to read buffering and asyncronous communication.
Has anyone played around with the NModbus library enough to stand-by it? https://www.nuget.org/packages/NModbus/
My second thought is to rely on a data table or something similar that exports on command to a CSV file or similar format. I could then import this file as needed into my HMI builder to update tags. It would then need a secondary method to export tag data from my HMI builder back into my C# application. My worry is that there may be unnecessary delay between the applications.
I have also been looking into the option of reading/writing to an access database. I believe this would solve the issue with delay as communication would be instantaneous, but I haven't worked a lot with access in the past so it would be new territory.
Any thoughts, advice or criticism, on the topic as well as links to similar topics that I hadn't spotted would be appreciated.
I have a few possible ideas, each pose their own complications.
My first thought is to go with a TCP Modbus communication, but with some light researching I am finding that it would require a possible untrustworthy 3rd party library/namespace and would require some unnecessary complication in regards to read buffering and asyncronous communication.
Has anyone played around with the NModbus library enough to stand-by it? https://www.nuget.org/packages/NModbus/
My second thought is to rely on a data table or something similar that exports on command to a CSV file or similar format. I could then import this file as needed into my HMI builder to update tags. It would then need a secondary method to export tag data from my HMI builder back into my C# application. My worry is that there may be unnecessary delay between the applications.
I have also been looking into the option of reading/writing to an access database. I believe this would solve the issue with delay as communication would be instantaneous, but I haven't worked a lot with access in the past so it would be new territory.
Any thoughts, advice or criticism, on the topic as well as links to similar topics that I hadn't spotted would be appreciated.