labview
与三菱
PLC
通讯研究
一 介绍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实现如下
![labview与三菱PLC通讯研究_第2张图片](http://img.e-com-net.com/image/info8/3f72e23450d94c4ba0c31b53f6ea3462.jpg)
这样,我们就可以实现通过规约将数据进行表达出来.通过485接口通讯,从而实现写入数据到plc的某个(些连续)地址或者从某个(些连接)地址的数据读取出来.详细的实现方式请参阅我写的另外一篇关于labview实现串口通讯的文章:
http://blog.csdn.net/kw123/archive/2006/04/28/695439.aspx
总结:
在工业现场环境,我们经常通过接口通讯将PLC和计算机连接起来实现人机交互.从而形成远程控制.实现无人职守的功能.在这个方面,人机界面也做的很好,提供很多的协议,我们只要编制上层程序即可.但是人机界面存在着数据存储量少而且界面不是很友好的弱点,工控机这方面可以实现很好的补充.既能在复杂的工业环境上进行良好的控制,而且提供友好方便查询与处理的操作.实现方便.加上配合美国NI公司的LABVIEW实现具体的功能.稳定性和可靠性将大大提高.
诚然,每种PLC的通讯规约基本都不一样,这里我们介绍了三菱PLC与计算机形成人机交互.起到抛砖引玉的作用!对于各种plc规约不同,那么实现起来将增加编程人员的负担,为此,大家可以参考美国WOODHEAD公司(http://www.woodhead.com),他们提供一款产品,实现不同型号与品牌的PLC进行互连通讯.详细介绍请参阅他们的网站.
参考文献
三菱plc FX-2N 说明书
《labview高级程序设计》
杨乐平等编著
labview
串口通讯的研究
本人另外一篇研究串口通讯的文章