西门子 SMART PLC 扫码串口通讯

打印 上一主题 下一主题

主题 1887|帖子 1887|积分 5661

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
西门子SMART PLC自集成485端口,别的可以外加一个信号板485/232串口通讯,扫码枪一样平常的都是232通讯,这时候你需要用485转232串口设备,扫码枪扫码到条码信息后通过232发送到PLC,PLC通过RCV接收报文,并在接收中断中接收后再次使能RCV接收
1. 先要设置通讯格式,集成的485用SMB30,信号板用SMB130设置,如下图设置成9,相当于是无奇偶校验,字符8位,波特率9600,自由端口模式,也可以用2进制写入2#1001

2.0 如下图,148相当于二进制的2#10010100,设置RCV使能,忽略SMB188,SMB189他们是字符开始竣事

2.1 设置接收周期,超时时间,接收最大字符数

3.0 如下所示,集成485端口接收完成未23,这里把端口1接收完成后24触发中断程序绑定,ENI中断打开,RCV接收从VB600开始

4.0 中断程序,当收到SM86.2为1时代表字符间超时信息接收竣事,这时候可以递加VB800,做接收计数,用VB1100擦干净接收的数据地区,然后把接收缓冲区VB600拷贝到VB840接收区中,这里还做了不清空,实在不用也可以


5.0 然后在中断中再次启动RCV接收就行了,PORT就是端口号,SMART的话要么0要么1,0就是集成端口,1就是信号板

示例:

2. 改变字符串某一位的值,依次的解释如下,把&VB900在内存中的地点给到LD10,AC0(累加寄存器即32位暂存数据寄存器)为寻址到位数,把VD1600跟LD10的地点相加,比如AC0为5,减1得VD1600为4,那LD10是指向地点为VB904,而*LD10就是指向VB904这个地点在内存中的值,可以直接赋0到给*LD10,也就是给VB904赋0,LD10为临时双字存储区


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表