我要用读码器读取物品的条码,然后和触摸屏输入到PLC里的条码对比,分拣物品。程序中这个条码器是用SFC20读码的,好像是64位的,可是我用触摸屏输入的条码只有14位或者16的,怎么办?以前没用过SFC20,不知道怎么下手了,谢谢
问题补充:
写错了,是用SFC20拷贝数据的
最佳答案
一.SFC20使用方法:
如要将DB100的30个数据拷贝到DB200的哪里啊。如果DB号和起始字节及长度均固定的话,可以直接输入:
CALL "BLKMOV"
SRCBLK :=P#DB100.DBX 0.0 INT 30
RET_VAL:=MW0
DSTBLK :=P#DB200.DBX 0.0 INT 30
如果DB号和起始字节及长度均为变数,那就很麻烦了,需要自己构造一个ANY类型的数据,#SRCBLK和#DSKBLK类型均为ANY,根据ANY数据结构对其进行填充。
CALL "BLKMOV"
SRCBLK :=#SRCBLK
RET_VAL:=MW0
DSTBLK :=#DSKBLK
二、.S7-300与条码器读取数据,建议使用串口通信方式进行读取。西门子的串行通讯的解决方案为CP340、CP341、CP440、CP441支持的通信协议为ASCII或MODBUS(需要加硬件狗)。如果你是S7-300需要加装一个CP341模块和其需要购买的硬件狗。
在PLC 的DB数据块里面体现出来,要自定义一个数据块DB, 条码信息为字符型变量或是ANY型变量,其它的变量可以自定义。
1.确定条码机支持什么通信协议,有什么通信接口。
一般可以通过串口方式进行通信,可以选择CP340/CP341串口通信模块实现与条码机通信.
2.CP340 中储存的信息,在PLC 的DB数据块里面体现出来,要自定义一个数据块DB, 条码信息为字符型变量或是ANY型变量,其它的变量可以自定义。
3.你需要加装CP340或CP341进行通信,你的条码枪是RS232口的,CP340/341有RS232或RS485接口的,可根据需要选择不同的订货号。你还需要购买与CP340/341支持MODBUS协议硬件狗。
CP340/CP341/CP440/CP441通讯及编程 :
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0081.zip
做主站S7-300 CP341 做从站的Modbus RTU 通讯下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0451.pdf
串口通讯模块的信息与使用(2004.03.30)下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0006
《串口模块常见问题》下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/faq/F0426.pdf
参考资料:http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=63071&cid=1029
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc249056.html