Integration with other scada system
In order to integrate Mango with other scada system that use REST API, which Data Source could I use?
The Scripting Data Source, is it right?
There are some example/documentation about this integration case?
phildunlap last edited by phildunlap
Hi Luigi, welcome to the forum!
It is certainly possible to do with a Scripting data source. You would want to work with the HttpBuilder in the scripting runtime as illustrated here:
^ the contextual help has useful information
Thanks for the reply.
The other scada system has about 3000 data points. What is the best way to interface with this system?
Any suggestion is welcome.
phildunlap last edited by
By itself a certain number of data points is largely irrelevant to how to interface with it. What kinds of options for interfacing are available? You can see in the second example, the intesis integration, that you can create points from within the same script that is scraping the API. The script that post was derived from has thousands of points it created on it on a client system.
Perhaps it is a Niagara system? If so the Haystack module could make the whole thing very simple and create all the points for you.
the other scada system should be Niagara Ax Framework 3.8.
Regarding the design of the solution, what should be the best choice between point 1 and point 2?
1, Niagara (Client) -> Mango (Server)
2. Mango (Client) -> Niagara (server)
Moreover, about Haystack module, how is works and how could be implemented?
phildunlap last edited by
If Haystack is available in that Niagara version, you would create a Haystack data source in Mango which would behave as a client and poll the Niagara server. This solution would probably be easier, go ahead and try! All you need is the URL to your Haystack server and your authentication information to create the data source.
If using a scripting data source, you would have the full flexibility of the REST API that was the subject of the post. If it's serving a REST API and that's what you're querying, then you're the client and its the server again.
There are other options. Both the BACnet and Modbus publishers in Mango accept writes over those protocols. If you find it easier to output a CSV once a day, there is a Data File data source that can import something you copy to it or you can define an arbitrary poll class and have Mango copy the file from the remote server. So, either client-server relationship is possible, but both the scripting and Haystack options would definitely be clients to their respective APIs.