labview与三菱PLC通讯研究

 
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来实现累加和
labview与三菱PLC通讯研究_第1张图片
 
那么Numeric3中就得到累加和,如何进行进制转换呢?
 其实就是  除以16 高位取整,低位取余

使用LV实现如下

labview与三菱PLC通讯研究_第2张图片

 

这样,我们就可以实现通过规约将数据进行表达出来.通过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 串口通讯的研究      本人另外一篇研究串口通讯的文章

 

你可能感兴趣的:(测控自动控制技术,学术讨论,研究)