OPC server that support general PLC's and CoDeSys PLC's - communication

I’m at the start of a HMI project, the goal is to develop an C# .NET HMI application that runs on an windows PC.
The HMI must be able to read and write PLC variables
In the first stadium of the project the HMI must be able to communicate with
• Lenze CodeSys v3 PLC’s
• Allen Bradley Compact and control PLC’s
In a later stadium I would like it if it also could communicate with:
• Schneider Codesys v3 PLC’s
• Siemens PLC’s
I think that an OPC UA server with drivers for different PLC’s is the solution.
But i can only find OPC servers that support or general PLC's like Allen Bradley or CodeSys based PLC's.
Does anyone here has any experience in this?

I agree with you the best solution is an OPC server. I've worked with Matrikon OPC servers in the past and I know they have modbus tcp driver (for Lenze and Schneider) and ethernet/IP driver for AB. I have not specifically worked with OPC and Siemens but in doing a google search I did find that they do have a driver specifically for this.
Siemens Driver
Hope this helps!

You could use AdvancedHMI to get started quickly. It has built in drivers for most Allen Bradley PLCs. For others you can use OPC DA servers along with the OpcDaCom driver. Within a few minutes you can have a working HMI.
The default project is VB, but you can easily add a C# project to the solution.

Related

Erlang Netconf Support

Does Erlang/OTP has Netconf client and server implementation?
Google brings me to http://erlang.org/doc/man/ct_netconfc.html; what is this ct for?
The other project that I found seems to be not maintained https://github.com/FlowForwarding/enetconf
Is there anyone who is using Netconf with Erlang and can help provide some starting point.
Greg
The ct_netconf module is part of the "Common Test" test framework, and is probably not usable as a standalone client.
But yes, there is Erlang software that implements Netconf. ConfD was written in Erlang, by the company Tail-F (who got bought by Cisco some years ago). I can't find any online docs, but from mailing list discussions it looks like the free (but not open source) ConfD Basic has Erlang and C bindings. You can get it from here: http://www.tail-f.com/confd-basic/ (registration required).
See http://www.tail-f.com/company-story/ for more background.
(At https://github.com/tail-f-systems there is a Netconf client in Java, but no open source Erlang code.)

What programming languages and databases are suported by Hyperledger Fabric?

I have previous experience in using Ethereum and Solidity, but now I want to try writing smart contracts for Hyperledger.
I have few considerations:
First one is regarding supported databases. According to their documentation (http://hyperledger-fabric.readthedocs.io/en/latest/ledger.html) they use LevelDB for storing contract data and CouchDB support is still in beta. Does anyone have any experience using CouchDB in Hyperledger?
Second, I see that Go is mostly used for the specification of smart contracts, but they have support for Java too. Is Java still in beta too, and is there support for any other programming language?
Also, what operating system do you suggest for production server running Hyperledger?
Thank you for the answers.
Is Java still in beta too, and is there support for any other
programming language?
Hyperledger V1.0 doesn't support Java Chaincode.
There will be support for it in the future.
You can ask around in https://chat.hyperledger.org/channel/fabric for ETAs.
There is also a work in progress to have node.js support.
Also, what operating system do you suggest for production server
running Hyperledger?
Ubuntu 16.04 LTS works well
Does anyone have any experience using CouchDB in Hyperledger?
Yes, CouchDB works well if your data is modeled as JSON and you would like to query the content of the data. The default goleveldb state database only supports key-based queries.
You should take a look at Hyperleger Composer that helps you create blockchain applications on Hyperledger Fabric quite easy. (It works better with Ubuntu).
It has is own Modeling Language.
Hyperledger initially was build using Go language.
the aim of the hyperledger team is to support as many languages as possible. currently the hyperledger composer( tool for developing blockchain application) supports javascript for defining the assets, transactions and chaincode.
the transactions log, state data and backed by Level DB and Couch DB
Note :
LevelDB and CouchDB are fully integrated in fabric framework,
currently you can't replace them with other database
Chaincode runs in a secured Docker container, the chaincode (aka smart-contract)can be programmed in Go,Node,Java currently Go is stable and fully supported language.
considering the operating system i have tested the fabric network running on Microsoft Azure platform where created a image of ubuntu 16.04 and installed Fabric framework.till now got no issue on it.

IDE vs Library vs SDK vs Framework vs Toolkit

Made a research before asking this but I couldn't really understand much of differences between what I'm asking above. In-depth information would be much appreciated. Thanks in advance.
API - a set of functions and structures (classes?) for performing a selected task (e.g. libcurl API for network requests)
A Framework is something you can build upon. Usually it is complete (or almost complete) to a point it can be started out of the box (but probably would`nt do anything useful) and provides APIs to override some functionality
a toolkit is a set of utilities/tools you can use for some task (e.g. Kali Linux is a network penetration toolkit)
SDK (Software Developer`s Kit) is a toolkit (usually official) that can be used to interact with/program some device/entity. It also may provide APIs and frameworks internally. (e.g. Android SDK allows to develop, build, test and deploy applications for, well, Android. it describes APIs accessible from different OS versions. )
A toolkit is a set of utilities/tools you can use for some task (e.g. Kali Linux is a network penetration toolkit)

About client/server Peachtree Accountant software

We plan to setup client and server for peachtree accounting system.
currently, we have software Sage Peachtree Quantum 2010 Accountant, so could we use this
software for making client and server?
Do you have any ideas regarding this issue?
If the Quantum still uses the pervasive database, it uses the server side database to lock the files, and is very active. Depending upon your latency of connection it may or may not work out. We used Peachtree Compete 2004 and were successful in connecting by VPN, with a mapped drive to the datapath, nut it was very slow, albeit the connections were very slow back then. So this is a no answer answer, just an encouragement to setup a VPN and give it a try. Our last current version is Peachtree apremium, and it will not run this way, nor will it run under terminal services, which is an alternate solution. However, I am told that the latest versions will run under terminal services, as we are considering upgrading to such. Sage's tech support is junk, so do not look directly to them for much help, however there are a lot of good VAR support companies that vary in competence and may be good for some assistance. Good luck.

Most cost effective way to deploy iOS app with Xamarin with only a Mac?

I have a strong background in .Net and some Python. After years of PC work, my primary (only) machine at home is a Mac.
I have an idea for an iOS (and Android) app that would be a total labor-of-love, there is basically no monetization possible with it, but I still want to do it. What is the most cost effective way to deploy an app, with Xamarin and only using a Mac?
I will need a database to power the app. I know that I can use MS Azure for a pretty low cost but I know that Xamarin licensing for the SQL Data library is a total budget killer. I know that I could expose web services, but that would require writing the web services with .NET and I want to do this project exclusively on a Mac.
So what are the database options? Can I hook Xamarin directly to MySQL? Can someone please provide sample code for connecting from Xamarin to MySQL? What are some of the better MySQL only providers? I wouldn't need a web host, just DB.
Are there any other potential costs/licenses that I'm overlooking?
You never want to expose your database directly to a mobile client. You always want to have some sort of service brokering your db requests to the outside world.
If your client is simple enough that it will fit under the app size limit, you can use Xamarin's free tier. Otherwise you can use the Indie tier. You should not need the business tier. If this is something that might be a workable open source project, I believe you might be able to ask Xamarin to donate a license.
You will also need an Apple developer license, $99/year, for deployment.
You can use MSSQL, Azure, MySQL, etc to power the server side db. You can write webservices with ASP.NET, PHP, Ruby, etc - there is no reason the server side has to be .NET unless that is what works best for you. You can run a VM on the Mac and run VS2013 Express for ASP.NET, or do it directly from the Mac with Xamarin Studio (not sure exactly what level of support there is for this under Mono, but it is doable). Most of the other options can be written natively in OS X.
Other than the Mac hardware, the only other absolute expense is $99 for the Apple Developer account.
For web services on a Mac with C#, look into v3 branch of ServiceStack. There is also ServiceStack.OrmLite which is a database client (MySQL, SQLite, SQL Server etc), it has a SQLite implementation which will run on the local machine (mobile) with Xamarin.iOS & Xamarin.Android.

Resources