1 引言
WWcW_PLCJS_COM-PLC-技.术_网
PLC(可编程逻辑控制器)在工业自动化中得到了非常广泛的应用,从起初的简单逻辑动作控制到现在的集网络,复杂数据运算,通信为一体,其功能和应用领域在未来还将会进一步地被拓宽。但在数据运算,图象处理以及数据存储等方面依然是PLC比较弱的方面,若能结合32位或64位计算机一起使用,结合两者的长处必定能取得较好的使用效果。WWW_PLC※JS_COM-PmLC-技.术_网
2 系统整体设计
——可——编——程——控-制-器-技——术——门——户
参见图1,在原理示意图例中,通过松下PLC自带的温度数据读取单元对热敏电阻阻值的变化量进行A/D转换后将数据存储到PLC的“DT90040”和“DT90041”两个数据寄存器,这两个寄存器分别对应了CH1和CH2两个物理通道。松下PLC的工作扫描周期为0.5ms,温度数据将在每个周期更新一次。WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
图1 原理示意图
WWcW_PLCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
利用个人计算机的串行通信端口以10ms的扫描周期从PLC中将数据取出后存到动态数组中,在通过PICTURE控件以画图的方法将温度变化曲线表示出来。欲保存所取得的数据时可将数据输出到指定的EXCEL文件中。WW.W_PLC※JS_C,OM-PL,C-技.术_网
3 系统的实现方法
WW.W_PLC※JS_C,OM-PL,C-技.术_网
3.1 PLC和VB6.0的通信与数据传输处理P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
计算机和PLC之间通信的时候,相互间传输的数据为4位16进制BCD码,当通过计算机的串行口按照一定的规则向PLC发出数据后,PLC在受到指令后也将返回一段有规则的代码,而笔者所需要的信息就包含在那一段返回码中。在这里,可将计算机串口和PLC的通信格式都设为:WWW_P※LCJS_CO※M-PLC-技-.术_网
波特率:115200B;WW.W_PLC※JS_C,OM-PL,C-技.术_网
校验位:基校验;WWW_PLCJS_COM-PLC-技.术_网
数据长:8位;P.L.C.技.术.网——可编程控制器技术门户
停止位:1位;WW.W_PLCJS_COM-PLC-技.术_网
松下FP系列PLC的通信协议MEWTOCOL-COM命令格式如下:指令格式。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
指令信息:WW.W_PLCJS_COM-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
应答信息 (正常时):
WWW_PLCJS@_COM%-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
应答信息 (发生错误时):
——可——编——程——控-制-器-技——术——门——户

W1WW_P4LCJS_COM-PLC-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
通过查阅FP系列用户手册,可以发现热敏电阻值变化在“DT90040”和“DT90041”寄存器中得以体现,那么若能读出这些值,就可以对数据进行保存处理等相关操作。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
对数据寄存器读取命令格式为:
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
PLC接受到上述指令后会返回下列代码:WWW_P※LCJS_CO※M-PLC-技-.术_网
读取成功
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

plcjs.技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
读取失败
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网
P.L.C.技.术.网——可编程控制器技术门户
在所接受到的数据的排列格式和我们正常思维所想的是不一样的,其排列如下:
WWW.PLCJS.COM——可编程控制器技术门户

plcjs.技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
Data (4 characters) WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
例:DT1105 =K13639( 3547H)WW.W_PLC※JS_C,OM-PL,C-技.术_网
通过计算机RS-232口将下列数据发出后:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

plcjs.技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
这样的现象在串口通信中是很常见的,希望读者在使用时务必加以充分的理解注意。WWW_PLCJS_COM-PLC-技.术_网
3.2 数据读取处理详细WWW_PL※CJS_COM-PLC-技.术_网
在介绍了以上PLC和计算机通信的规则方法后下面将讲解如何具体来实现准确的数据读操作。WWW_PLCJS@_COM%-PLC-技.术_网
参见图2,在按下开始按钮后将执行下列代码:
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
图2 数据读取
WWW_PLC※JS_COM-PmLC-技.术_网
WWW.PLCJS.COM——可编程控制器技术门户
Private Sub Command1_Click()WWW_PLC※JS_COM-PmLC-技.术_网
Dim d1 As StringWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
d1 = "100"——可——编——程——控-制-器-技——术——门——户
Command1.Enabled = False——可——编——程——控-制-器-技——术——门——户
Command3.Enabled = TrueWWcW_PLCJS_COM-PLC-技.术_网
nk = 10000 / Val(Text4.Text)WWW_PLCJS@_COM%-PLC-技.术_网
If Check1.Value = 1 ThenWWW_P※LCJS_COM-PLC-)技.术_网
Timer1.Enabled = TrueWWcW_PLCJS_COM-PLC-技.术_网
Picture1.ClsWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
e = 0WWW.PLCJS.COM——可编程控制器技术门户
e1 = 0P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
re = ""WWW_PLCJS_COM-PLC-技.术_网
End IfWWW_PL※CJS_COM-PLC-技.术_网
If Check1.Value = 0 Then Timer1.Enabled = FalseWWcW_PLCJS_COM-PLC-技.术_网
If Check1.Value = 0 ThenWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
k = AreaReadD(d1, d1, r)WWW_PL※CJS_COM-PLC-技.术_网