登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:求助:FXPLC通信问题

点击:1636 回复:6

我用FX1S的PLC与PC通信,采用FX-232-BD模块通过PLC的串行口(注意:不是编程口)来实现通信。可是我不知道PLC支持的通信协议是什么,(通信手册上说FX系列的采用无协议通讯,我看到的只是定义他们的通信参数,感觉没大看明白)他们之间传输数据的信息帧的格式是什么,知道的朋友请务必帮帮忙!小女子不胜感激!
07-05-17 23:07
本站上有,自已找一下
07-05-18 09:12
几个步骤
(1) PLC程序针对几个特殊的寄存器,进行数据设定。参照手册上的就可以。
D8120 = H6080
D8121 = H0000
D8129 = K0
(2) 通讯帧
计算机向PLC发送
E N Q
Station No.
PC No. (FX = FF)
B R      (指令,这里是Batch read,读取)
Message (起始寄存器,直接写入D0100或者Y0010,然后是读取长度)
wait time (等待时间,A为100ms)
Sum check(校验和)
code
PLC向计算机回发指令。
Station No.
S T X
PC No.
Data of
the
specified
devices
E T X
Sum check
code
计算机向PLC发送确认帧。只有读命令需要。
StationNo.
A C K
PC No.
07-05-18 14:23
FX通讯手册上有协议。网上有通讯手册下载。
07-05-18 14:34
我不晓得FX和Q系列的PLC是否有很大区别,Q系列里面的串口通讯经常采用的协议是无顺序通讯协议,传输帧的格式可以自己定义,也可采用默认的,默认的好像就是2楼所说!!至于PC端要如何设置,就要看你PC端用的是什么方法了!!是组太还是自己编写?◎~!~
07-05-18 21:47
非常感谢各位,明白一些了,PC端我用VB编程,现在又出现一个问题,就是PC向PLC发送数据时,要采用16进制的ASCII码,那我如何将信息帧中的字符数据转换为可供发送的16进制ASCII,用VB编程如何实现?例如,字符串MN68CB34,转换为16进制ASCII之后为 4DH 4EH 36H 38H 43H 42H 33H 34H (此为查表所得)再次感谢!
最后修改:2007-5-19 21:49:13
07-05-19 21:31
我知道了,将字符串的各个字符分别转换为十进制的ASCII值,然后再把这些十进制的的ASCII值转换为16进制 即为所得。
还想继续请教各位,谁有用VB编程实现PC与FXPLC的串行通信程序源代码,能不能给我发一份过来。我的邮箱caixia336@sina.com.非常感谢!
07-05-21 10:12

工控新闻

更多新闻资讯