Implemention of customized SCADA for X-Ray Machine


Implementation of customized SCADA for
X-Ray Machine

  

Abstract

This paper is an effort to enable the Delta PLC
(Programmable Logic Controller) DVP14SS to communicate with the Visual
Basic 6.0
using Modbus.DLL.
The communication between DVP14SS
and Visual Basic 6.0 is via Modbus Serial Protocol stated by Delta PLC
manufactures. In automated systems there is control supervision, and also
health and safety monitoring via supervisory control and data acquisition
(SCADA) systems. Values of important parameters such as temperatures, pressures,
voltages, etc. are sensed and transferred to monitoring stations in control
rooms. After processing the information, decisions are made and supervisory
commands are sent to change conditions such as set points or to engage
emergency procedures. The data from sensors and set commands to actuators are
sent via wired or wireless communication channels. So, communication mechanisms
are an integral part of any complex automated system. The SCADA software’s are
the software packages and are not free and the cost depends on tag count.
Visual Basic 6.0 platform can be used to develop the SCADA application
effectively. Using VB 6.0 a platform can be developed to integrate software and
hardware across spectrum of vendors. Here, a simple approach is proposed; which
takes care of the communication between Delta PLC and visual Basic using Modbus
DLL (provided by Delta PLC). Visual Basic can serve as a cost effective
solution since it is not necessary to purchase a licenses for a small scale
application as well as it is cheaper than conventional SCADA packages.  
 
I.     
Introduction
During
the past decade, the industrial sector throughout the world has shifted from
classical methods of control and Automation to the state of arts techniques.
This allowed the industries to attain higher percentage of growth and
production, which consequently gives rise to reduction in costs of the product
.This trend of automation is gaining Automated systems use local control
systems that utilize sensor information in feedback loops, process this
information, and send it as control commands to actuators to be implemented
& processed [2]. Such closed-loop feedback control is necessary because of
the uncertainties in the knowledge of the process and in the environmental
conditions. Feedback control systems rely heavily on the ability to receive
sensor information and send commands using wired communications.
PLCs  have 
become  favourite  tools 
in  the  control 
industry  because  of 
their  simplicity, robustness,
I/O  interface and  reliable performance
SCADA
as the name suggests is not a full control system but rather focuses on the
supervisory level. As such, it is a purely software package that is positioned
on top of hardware to which it is interfaced, in general via PLCs, or other
commercial hardware modules. SCADA systems are nowadays employed in major
industries of the world including Oil and Gas, Petroleum, Food, Textile and
other industrial sectors. SCADA systems are developed by major companies which
include Wonderware Inc, Siemens, Rockwell Automation, Intellution and GE.
However the prices they demand for their systems are discouraging the
industries to switch towards automation [3]. 
Visual
Basic is tool provides platform to develop new optimum Windows or SCADA
applications.  Visual Basic can
communicate with PLC with various ways. Visual Basic does not have code for
communication protocol inbuilt. 
User  need  to 
write  code  for communication  protocol 
or  need  to 
purchase ActiveX  controls    which 
are  used  to 
develop applications.[4]
II.  
Method of Interfacing
The
primary goal of SCADA system is to assist the operator in running a machine and
managing a process. A good SCADA system will increase the productivity of the
operator and machine, increase uptime, and assist in providing consistent
product quality. The required functionality of SCADA will vary based upon the
type and complexity of product produced the type of machinery used, the skills
of the operator, and the degree of automation of the machinery [3]. The types
of functionality typically included are:
·     Link
between PLC and PC.
·     Visual
HMI
·     Trending
Real Time and Archived Data [3].
Delta DVP14SS comes with serial
port and the communication protocol is serial Modbus protocol which is a open resource
Modbus protocol. Visual Basic acts as a Modbus Master device which issues
request or commands (Query) on serial bus which is received by slave.  PLC acts as a Modbus slave device and
responds to the Master by sending massage called response. Modbus Query and
Response contains fields like device address, function code, data, and error
check [6]. Figure 1 shows the system block diagram.
Figure 1 Block diagram


In
the previous work [4] is an effort to show simple approach to communicate Delta
PLC with visual Basic using MSComm control for more effective and efficient
process control.  .This paper is an
effort to design and evaluate the the other approach to communicate Delta PLC
using Modbus.dll provided by Delta PLC manufactures. DMT Modbus Library is used
for development industrial device that support Modbus format, based on Windows
Winsock API (WSA). The software developer can import the library for
implementing device’s communication via serial or ethernet. The MBDRV
Communications Driver is a Windows Dynamic Link Library (DLL) that enables
Windows programs to communicate with devices that understand the Modbus
Protocol. The driver provides an easy way for the user to develop programs that
access Modbus device’s points and registers. 
Information is passed using standard variables in the user’s host language
[5].
The
Modbus driver can be used with any language that supports calls to external
DLLs, including C/C++ static/dynamic standard library, support
Microsoft Visual C++ / Visual Basic, Borland C++ Builder, Sun Java J2SE,
etc.[5]
DMT Library provides
functions with the following steps:

  • ·    
    Step1.Opening communication port
  • ·    
    Step 2. Data access input/output functions
  • ·    
    Step 3. Acquiring status functions if
    necessary
  • ·     Step 4.
    Closing communication port

DMT
library provides various functions related to communication control, Data
access & communication Status between PLC and PC. Communication control
functions include creating Modbus serial connection & closing the serial
connection.e.g.
 Function
used to create Serial connection:
int
OpenModbusSerial(char *comport_name,
int baud_rate, int data_len, char parity, int stop_bits, int modbus_mode);
TABLE I
OpenModbusSerial Function Parameters [5]
Parameter
Value
comport_name
Comport name, e.g.
“COM1”
baud_rate
Baud rate, e.g. 9600
data_len
Data length, e.g. 7
parity
Parity bit, e.g. ‘E’
stop_bits
Stop bit, e.g. 1
modbus_mode
Modbus
mode, 1 for Modbus/ASCII, 2 for Modbus/RTU
OpenModbusSerial function then returns the value
to indicate whether the connection is successful or not e.g.
TABLE II 
OpenModbusSerial Function Returned Value [5]
Value returned
Example
-1
Serial
open failed
Non zero
Serial open succeeded
Function used to close Serial
connection:
void
CloseSerial();
Closes the Serial connection.
Data
access functions include sending request for Modbus data & receive
responses from Modbus data.e.g.
 Function used to send request for Modbus Data:
int
RequestData(int slave_addr, int func_code, const unsigned char *data, int
datalen);
TABLE III
RequestData Function Parameters [5]
Parameter
Value
station_addr
Station Address
func_code
Function Code
Data
Modbus Data
Data_len
Modbus Data Length’
RequestData function then returns the value
to indicate whether the request sent is successful or not e.g.
TABLE IV
RequestData Function Returned Value [5]
Value returned
Example
-1
Send
data failed
Non zero
Total number of bytes sent will be returned
Function used to recive response
form Modbus Data:
int
ResponseData(int *slave_addr, int *func_code, unsigned char *data);
TABLE V
ResponseData Function Parameters [5]
Parameter
Value
station_addr
Returned Station Address
func_code
Returned Function Code
Data
Modbus Data (If
error occurring, the Modbus Exception Code will returned)
ResponseData function then returns the value
to indicate whether the response sent is successful or not e.g.
TABLE VI
ResponseData Function Returned Value [5]
Value returned
Example
-1
Send
data failed
Non zero
The Modbus
data byte count will be returned
Communication
status functions include acquiring the last serial error message &
resetting the serial error message.e.g.
 Function used to acquiring the last serial
error message:
int
GetLastSerialErr();
TABLE VII
GetLastSerialErr Function Returned Value[5]
Value
Message
0
No serial error
1
Invalid serial error code
2
Invalid baud rate
3
Buffer overflow error
4
Invalid character size
5
Invalid flow control
6
Cannot initialize serial device
7
Invalid initialization parameter
8
Cannot open serial device
9
Invalid parity
10
Serial device receive error
11
Invalid stop bit
12
Serial device transmit error
Function used to reset the last
serial error message:
void
ResetSerialErr();
Used
to reset Last Serial Error
III. IMPLEMENTATION
DVP14SS
series MPU support Modbus ASCII/RTU communication format with speed of up to
115,200bps. and modification on data length (data bits, parity bits, stop
bits).Modbus communication format ,CRC calculation ,Modbus addressing for
various internal devices of PLC are the key factor in the  interface. Communication parameters for COM can
be manipulated by writing ladder program. Here default protocol settings are
used hence no need to alter PLC program. [4]
Following
steps are implemented to obtain desired objective.
1.        
Add
DMT.bas module file into project (Figure 2).

Figure 2 DMT.bas Module
In DMT.bas module all functions are declared and
defined in Modbus.dll
2.    Copy DMT.dll into project.
Copying
the DMT.dll file into project directory.
3.        
Declaring
the Win32 API
Used to find serial port List from registry and shown in GUI.

4.        
Declare
variable parameters for communication port.
Following
variables are declared.

Used to
create Modbus protocol String to send command or request to PLC.
5.        
Assign
Modbus data

Function code 5 forces single coil M207 (Modbus
address 08CF) ON state (Data FF00) [1][6].
6.        
Converting
Hex data to String

7.        
Open
Communication

Opens
communication port with 9600 baud rate, even parity, 1 stop bit.
8.        
Request
Modbus Data

9.        
Receive
Response

10.     Close Communication.

IV. RESULTS
Using VB and DMT.dll customised
SCADA is developed for application for Remote operated X-Ray Machine.

Figure 3 GUI for X-Ray Machine
In
this GUI seven stepper motor movements are controlled in both auto & manual
mode. Current & set positions of each motor are also displayed on the GUI. In
DMT Modbus.dll user an read four Modbus data registers simultaneously. Current
positions of Stepper motor is calculated by the encoders connected to each
motor. Stepper motor status is shown with the help of indicators.GUI also
displays the current position of Collimator .Collimator can be opened or closed
remotely with the help of buttons shown on GUI.
V. Conclusions

Visual Basic with industrial connections can be an alternative to costly
proprietary automation Software’s. The main idea was to interface Visual Basic and
Delta PLC DVP14SS for more effective and efficient process control.  This work evidences proper communication
between two powerful technologies used in industries.
Visual Basic provides a platform
where new solutions or highly customized SCADA’s can be created with a richer experience than those that may be provided by
standard SCADA offerings
.  By using Visual Basic that
offers many advantages over   SCADA
packages as it comes free and not expensive. Also SCADA packages cost depend on
the tag count and runtime licenses needs to be purchased. Thus for OEM Visual
Basic offers the optimum cost solution. The PLC- VB interface has been tested
for several real time processes and can serve better for many applications in
the industry.
References
[1]     
DVP PLC communication Protocol,” Delta
Electronics Inc,www.delta.com.tw/industrialautomation (1998).
[2]     
Tahir
Nizamuddin, Bilal Iqbal. “Design and
Implementation of Locally Developed SCADA A Cost Effective Solution
”.
PCSIR, Institute of Industrial Electronics Engineering, (IIEE) Karachi 16(2010)
[3]     
Tieyi
Zhang
, Yun Zhang,
Xiaorong Zhou. “Development on
Serial     Communication between
Panasonic Electrical PLC and Computer based on    VB
”. Guangxi University, Nanning ,
China. Applied Mechanics and Materials Vols, 170-173(2012)
[4]     
S.S.Bidwai,
V.B.Kumbhar. “Real Time Automated Control using PLC-VB Communication”
International Journal of Engineering Research and Applications (IJERA) Vol. 3,
Issue 3, pp.658-661 (Jun 2013).
[5]     
DMT library Manual,” Delta Electronics
Inc,www.delta.com.tw/industrialautomation .
[6]     
Modbus 
communication  Manual
  MTL 8000 
process  control  for 
process  I/O  ,The MTL Instruments Group PLC, England 

Leave a Reply