There are three types of work in the industry. Those are operations, project, and maintenance. What do you think you have to do as a project engineer? Well, it depends what project you are working on. If you are to make P&ID diagram or deal with procurement, tendering etc, probably this discussion will not help you. This discussion is for those project engineers who work on commissioning PLC/SCADA/DCS and field instruments. Most of the maintenance/ operation engineer are doing these kind of work, I believe. So, let us consider a situation that your PLC is not communicating with SCADA. What will you check? Probably the first thing you will check is ping test from your SCADA to PLC. Consider that you are not getting ping response. You checked your network switch and ethernet ports of PLC and SCADA, but you are not understanding why you are not getting ping response. On the next day you came to know that somebody disturbed your VLAN intentionally by changing VTP. If you buy a NMS, that can show an alarm, but why to buy a NMS if you can make your own NMS by writing some lines of code. Writing network programming in java/ C++ or C# or in C will not be an easy task if you are new to the programming. It will be very easy with python. Remember, a little python skill will boost the career of an instrumentation engineer and the slope will be more than a software engineer, as with python, you can do something that will be unbelievable for your boss. What will happen if you can create your own SCADA? A software engineer cant do better than you as they don’t have better idea than you about SCADA..
Now think about how you can create a SCADA. First of all you should know how PLC is communicating with SCADA. With which protocol? I have seen lot of engineer cant tell this. They tell that it is simply TCP/IP. When I ask them how holding registers are read, they understand slowly that the communication was not normal TCP/IP. TCP/IP protocol was wrapped over modbus. It was modbus/TCP. Can you access the PLC registers with your laptop or can you issue a command to a field device from your laptop without using the PLC software(ladder logic or FBD or whatever) and other third party software like modscan. Please think about it. This is the first step of creating a SCADA. We will slowly do that in the upcoming discussions.