你现在位置:首页>技术论文>数据通讯>正文
请高手指点VB与FX2N系列PLC的通信问题字号
日期:2007-8-22 0:14:55 来源:本站整理  
点击: 作者:未知
点击【】放大字体.

本人在用VB编写上位机与FX2NPLC的通信问题时遇到一些问题,请指点。

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

1、 用SC-09线能实现PLC程序和读出和写入,但能否通过SC-09线来实现通信连接?据资料是可以,为此我编写了一段程序来测试但通信是不成功。
WWW_PLCJS@_COM%-PLC-技.术_网

PLC的D8120设置为:MOV H6086 D8120(无协议、和校验、9600、偶校验、7位数据、1位停止位)
WWW_PLC※JS_COM-PmLC-技.术_网

VB程序为:
WWW_PLCJS_COM-PLC-技.术_网

Private Sub Form_Load()
WWW_PLCJS@_COM%-PLC-技.术_网

Dim STX As String
WWW_PL※CJS_COM-PLC-技.术_网

Dim ETX As String
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

STX = Chr(2)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

ETX = Chr(3)
W1WW_P4LCJS_COM-PLC-技.术_网

MSComm1.CommPort = 1
W1WW_P4LCJS_COM-PLC-技.术_网

MSComm1.Settings = "9600,E,7,1"
WW.W_PLCJS_COM-PLC-技.术_网

MSComm1.Handshaking = comRTS
P.L.C.技.术.网——可编程控制器技术门户

MSComm1.RTSEnable = True
W1WW_P4LCJS_COM-PLC-技.术_网

MSComm1.PortOpen = True
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

MSComm1.Output = STX + Chr$(5) + ETX  ’向PLC发出查询信号
WWW.PLCJS.COM——可编程控制器技术门户

End Sub
WWcW_PLCJS_COM-PLC-技.术_网

plcjs.技.术_网

Private Sub Command1_Click()
WWcW_PLCJS_COM-PLC-技.术_网

Dim buf$
WWW.PLCJS.COM——可编程控制器技术门户

buf = MSComm1.Input
WW.W_PLCJS_COM-PLC-技.术_网

If buf = Chr$(21) Then
WWW_PLCJS_COM-PLC-技.术_网

MsgBox "软件握手不正常"
WWW_PLCJS@_COM%-PLC-技.术_网

ElseIf buf = Chr$(6) Then
W1WW_P4LCJS_COM-PLC-技.术_网

MsgBox "软件握手正常"
WWW_PLC※JS_COM-PmLC-技.术_网

Else
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

MsgBox "!!!!!!"
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

End If
plcjs.技.术_网

End Sub
W1WW_P4LCJS_COM-PLC-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

Private Sub Command2_Click()
plcjs.技.术_网

Dim STX As String
P.L.C.技.术.网——可编程控制器技术门户

Dim ETX As String
WW.W_PLCJS_COM-PLC-技.术_网

STX = Chr(2)
WW.W_PLC※JS_C,OM-PL,C-技.术_网

ETX = Chr(3)
WWW_P※LCJS_COM-PLC-)技.术_网

MSComm1.Output = STX + Chr(48) + Chr(48) + Chr(48) + Chr(65) + Chr(48) + Chr(48) + Chr$(50) + EXT + Chr(54) + Chr(54)    ’向计算机发出读Y0~Y7的指令
P.L.C.技.术.网——可编程控制器技术门户

End Sub
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW.PLCJS.COM——可编程控制器技术门户

Private Sub Command3_Click()
WWW_PL※CJS_COM-PLC-技.术_网

Dim buf1$
WW.W_PLC※JS_C,OM-PL,C-技.术_网

buf1 = MSComm1.Input
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Text1.Text = rdh$
——可——编——程——控-制-器-技——术——门——户

End Sub
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WW.W_PLC※JS_C,OM-PL,C-技.术_网

问题:(1)不论PLC内程序是否运行,在执行按下Command1时,均显示"软件握手正常",这难道真表示通信成功,若真成功,在按下Command2后,再执行Command3,却不能收到任何数据??
WWW.PLCJS.COM——可编程控制器技术门户

  (2)
P.L.C.技.术.网——可编程控制器技术门户

2、 若用FX485PC-IF和FXON485ADP来通信,通信协议应该如何确定(指D8120的高8位),难否也按一面的程序?
WWW_P※LCJS_COM-PLC-)技.术_网

参考一下:

WWW_PLCJS_COM-PLC-技.术_网

遍历读FX-PLC的映象区
WWW_PLCJS_COM-PLC-技.术_网

用FX-PLC编程口通讯电缆遍历读PLC的映象区
WWW_PLCJS_COM-PLC-技.术_网

FX-PLC的编程口通讯协议只有几个命令,这就是"0,1,7,8"(读/写/强制位ON/强制位OFF),
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

它以PLC内部映象地址为操作对象,所有元件地址都从一张映象地址表中换算出来,包括用户
WWW_PLCJS@_COM%-PLC-技.术_网

程序。
WWW_PL※CJS_COM-PLC-技.术_网

 它属于低层操作协议,有最强大的功能,诸如元件读写、强制位元件、程序读写、密码读
WWW_PLCJS@_COM%-PLC-技.术_网

写、非连续地址通讯时用的指针队列读写....有厂家编程软件所提供的全部功能(它也是
——可——编——程——控-制-器-技——术——门——户

通过编程口与PLC连接的)。在上位机独占PLC的直连条件下,是一种最得心应手的通讯方
WWW_PL※CJS_COM-PLC-技.术_网

法。
WWW_PLC※JS_COM-PmLC-技.术_网

本人尝试在Execl电子表格中编程,遍历读出FX-PLC的全部映象地址里的数据和它的状态
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

,当然它包含了PLC的全部元件区和用户程序区(PLC密码在程序区内)了。
WWW_PLCJS_COM-PLC-技.术_网

具体做法:
WWW_P※LCJS_CO※M-PLC-技-.术_网

1. 在新建的XLS文档里,命名一个“遍历读FXPLC”和一个“PLC数据”工作表。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

2. VBA程序全部放在与“遍历读FXPLC”工作表对应的代码区内,工作表的第一行放3个控件
plcjs.技.术_网

,一个MSCOMM通讯控件和两个命令按钮。这里要说明的是,用户在安装了VB6.0后才可使用
WWW_PL※CJS_COM-PLC-技.术_网

MSCOMM控件,当然可以在自有 MSCOMM32.OCX 时自行注册后使用。
WW.W_PLCJS_COM-PLC-技.术_网

MSCOMM控件的引用:
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

在Exexl的菜单栏中点击: 视图 -> 工具栏 -> 控件工具箱, 将它拖到工具栏上或其它合
WWW_P※LCJS_COM-PLC-)技.术_网

适的位置.
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

点击控件工具箱工具上的"查看代码"按钮,进入代码编辑区,再点击VB编辑器的菜单栏中的:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

工具 -> 引用,在"可使用的引用" 区中寻找"MSCOMM32.OCX"控件并选中它。如找不到,点
WWW_P※LCJS_COM-PLC-)技.术_网

击"浏览"按钮,在Windows的系统文件区(system/system32)可找到它, 注意在文件类型栏
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

中应选"ActiveX控件(*.OCX)",找到"MSCOMM32.OCX"文件后点击选择,退出。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

3.返回Execl编辑器,点击控件工具箱上的"其它控件"按钮,在它的菜单栏中选中:
——可——编——程——控-制-器-技——术——门——户

Microsoft Chart Control, version 6.0 或:
WWW_PLCJS@_COM%-PLC-技.术_网

Microsoft Communications Control, version 6.0
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

把这个电话机图标安放在"遍历读FXPLC"工作表的第一行上,它的缺省名为MSComm1
WWW_P※LCJS_COM-PLC-)技.术_网

再在控件工具箱拖放两个命令按钮放到第一行:CommandButton1和CommandButton2,
WW.W_PLC※JS_C,OM-PL,C-技.术_网

给按钮分别命名为"开始测试"和"打断操作"。

本新闻共3页,当前在第11 2  3  
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行