发布于 2011-10-27 14:51:04
3楼
如果型号是 6ES5 521-8MA21
写如下的语句即可完成通讯,刚测试过。
针对9针串口
25口 9口
2------------------------------------------2
3------------------------------------------3
7------------------------------------------5
屏蔽-------------------------------------屏蔽
BLOCK0
9000 ------------------- 串口模式,00块
0804 ------------------- 9600K 无校验
0001 ------------------- 无BUSY信号,选择RS232模式
0100 ------------------- 8位数据位,无硬件握手
BLOCK 1
9020 ------------------- 发送数据格式
FFFF ------------------- 不用XON/XOFF模式
0000 ------------------- 无用
0000 ------------------- 无用
BLOCK 2
9072 ------------------- 数据发送格式
002D ------------------- 数据延迟4.5S
0000 ------------------- 无用
0D0D ------------------- 2个停止位 (回车)
配置完毕后直接输入
A001 -------------------- 发送数据格式
00XX -------------------- 发送数据的长度 XX 为字节长度
反馈值变成5001后系统等待发送
输入:
B00X -------------------- 每次6个字节输出,直到达到前面设定的XX长度后直接输出
X* -------------------- 输出数据
X* -------------------- 输出数据
X* -------------------- 输出数据
数据接收
输入数据
A080 -------------------- 数据采集指令
如果缓存区内有数据反馈显示
6X01 -------------------- 显示第一条数据 FIFO
X* -------------------- 实际数据
X* -------------------- 实际数据
X* -------------------- 实际数据
如果有数据未能完全取出输入数据
C001 -------------------- 采集第二条指令
缓存反馈数据
6X02 -------------------- 第二条数据
X* -------------------- 实际数据
X* -------------------- 实际数据
X* -------------------- 实际数据
如果数据全部取出反馈数据
5XX0 --------------------- 数据全部取出
取出后缓存区内的数据不会被清除,必须输入指令
0000 --------------------- 清除缓存区内指令
缓存区内数据才会被清除直到下一数据进入缓存区内采用A080读取
另外再加个小问题, 对于6ES5521-8MB12 的卡件,第一次通讯如何设定,看手册是要初始化,但不知如何弄,请强人解决。
无聊的于