一 介绍Labview
Labvie是实验室虚拟仪器工程工作台(Labview Virtual Instruments Engineering Workbench)的简称,是美国国家仪器公司开发的虚拟仪器开发平台软件,它的功能强大灵活,可以广泛应用于自动测量系统、工业过程自动化、实验室仿真等各个领域。
Labview使用图形化编程语言编程,简单直观,极大节省程序开发时间,同时Labview可提供丰富的库函数和功能模块,可完成各种各样的复杂编程任务。
二 三菱PLC的通讯协议
三菱plc通过通讯模块(主要是485)实现计算机与PLC进行通讯,从而实现远程控制与管理,本文主要介绍三菱FX-2N的通讯规约情况.具体的通讯协议可以参阅技术说明书,本文将大略的讲述通讯规则.
To read the present value of two points,T123 and T124,at station No.5
E
N
Q
05H
| 0 5
30H,35H
| F F
46H,46H
| W R
57H,52H
| 0
00H
| T N 123
54H,4EH,31H,32H,33H
| 02
00H,32H
| 64
36H,34H
|
根据读取协议,可以看出,读取地址的规约如上:
读取:
前导字符 ENQ
05:站号
FF,WR,0:读取的规约
T123:开始读取地址
02,读取地址长度,如果只读取T123,那么为01;如果依次读取三个地址那么为03,则读取地址为T123,T124,T125;文中为02,那么读取地址为T123,T124
64:累加和(注意,本累加和不包括 ENQ)
To back
S
T
X
02h
| 05
30H,35H
| FF
46H,46H
| 7BC9
37H,42H,43H,39H
| 1234
31H,32H,33H,34H
| E
T
X
03H
| B3
42H,33H
|
STX:前导字符 02h
05:站号
FF:标记(暂且这么认为)
7BC9,1234:读取地址返回值,T123对应 7BC9,T124对应1234
ETX:标记
B3:累加和(同理,不包括STX)
To write to data to two points, D0 and D1,at station NO.0(with message wait time set to 0 ms)
E
N
Q
05H
| 00
30H,30H
| FF
46H,46H
| WW
57H,57H
| 0
30H
| D0000
44H,30H,30H,30H,30
| 02
30H,32H
| 1234
31H,32H,33H,34H
|
ACD7
41hH,43H,44H,37H
| F9
46H,39H
|
BACK
A
C
K
06H
| 05
30H,35H
| FF
46H,46H
|
具体说明 请见 三菱PLC说明书
三 编程实现
对于如何实现字符转换成ASCII码这里就不作详细介绍.我们通过高级语言VB和labview进行实现累加和的情况来说明labview实现的简易性.
VB 实现
Function CheckSum(ByVal Data As String) As String
Dim i, k As Integer
k = 0
For i = 1 To Len(Data)
k = k + Asc(Mid$(Data, i, 1))
k = k And &HFF
Next i
CheckSum = Hex$(k)
If Len(CheckSum) = 1 Then CheckSum = "0" & CheckSum
End Function
使用LABVIEW来实现累加和
那么Numeric3中就得到累加和,如何进行进制转换呢?
其实就是 除以16 高位取整,低位取余
使用LV实现如下
这样,我们就可以实现通过规约将数据进行表达出来.通过485接口通讯,从而实现写入数据到plc的某个(些连续)地址或者从某个(些连接)地址的数据读取出来
总结:
在工业现场环境,我们经常通过接口通讯将PLC和计算机连接起来实现人机交互.从而形成远程控制.实现无人职守的功能.在这个方面,人机界面也做的很好,提供很多的协议,我们只要编制上层程序即可.但是人机界面存在着数据存储量少而且界面不是很友好的弱点,工控机这方面可以实现很好的补充.既能在复杂的工业环境上进行良好的控制,而且提供友好方便查询与处理的操作.实现方便.加上配合美国NI公司的LABVIEW实现具体的功能.稳定性和可靠性将大大提高.