西门子 SMART PLC 扫码串口通讯
西门子 SMART PLC 扫码串口通讯西门子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就是信号板
另外要处理字符的话,可能会用到这几个指令
1.STR_FIND,寻找字符的指令,在VB900的第AC0位(AC0必须为1)开始寻找跟VB970相同的字符,如果没找到就把AV0为0,如果找到就显示把AC0编程那个位数
示例:
2. 改变字符串某一位的值,依次的注释如下,把&VB900在内存中的地址给到LD10,AC0(累加寄存器即32位暂存数据寄存器)为寻址到位数,把VD1600跟LD10的地址相加,比如AC0为5,减1得VD1600为4,那LD10是指向地址为VB904,而*LD10就是指向VB904这个地址在内存中的值,可以直接赋0到给*LD10,也就是给VB904赋0,LD10为临时双字存储区
RS232和RS485用PLC编程实例,你知道怎么调试吗?经典小工具分享
最近有好朋友问我,为什么我用PLC写的232/485通讯程序不好用?我应该怎么测试是哪出现了问题?正好我最近写了一个西门子S7-200smart利用RS485进行自由口通讯向电脑发送状态的小程序,在这里和大家分享一下。
以前我们讲过,一些电子称具备RS232/485接口,可以与PLC进行通讯,那么除了这个功能,它还可以干什么?
PPI协议是西门子自己的协议,为自己的设备做连接用的。
我们重点说下自由口通讯,自由口通讯不限设备的限制,只要是支持RS485/232通讯的,不论是不是西门子的都可以使用。比如说不同PLC之间的通讯读写数据,以及和一些驱动器做通讯读写数据或者是给电脑端读写数据。
今天我们了解一下如何使用西门子S7-200SMART使用RS485端口与电脑进行通讯并调试。
首先S7-200SMART自带一个485接口,还可以拓展一个485接口,需要在硬件里配置波特率。
硬件连接需要一个PLC,一个485转232的转换器,以及一台带串口的电脑或者笔记本加串口转USB,以及串口调试工具。
西门子S7-200SMART PLC
485转232转换器(电脑侧是232)注意线序不要接错了,接错后依然有数据,只是数据是反的。
电脑端口
编程时需要配置接口信息,比如说用哪个接口发送,通讯参数是多少等等。
S7-200smart 可接两RS485口
通讯参数是特殊存储器SMB30(端口0)和SMB130(端口1)
端口设置
假如需要传输的数据是(波特率9600,无奇偶效验,数据位8,停止位1),数据从端口0传输,那么将9赋值给SMB30。
然后我们看下发送和接收指令,XMT和RCV,这两个指令需要注意的是;
1 指令需要以脉冲形式触发。
2发送或者接受的第一个字节的含义是你要发送的字节总字数。且不包含第一个。比如说我发送从VB801-VB876,所以发送地址需要写VB800,且VB800赋值为76。
主程序
程序解析;因为协议是“波特率9600,无奇偶效验,数据位8,停止位1”利用端口1进行通讯,利用脉冲触发XMT。
最后我们下载程序并触发脉冲,那么怎么进行调试呢?我们需要串口调试工具,本文用到的串口调试工具是作者从业多年用的最好的一款,绿色无需安装,且没有BUG,打开软件后,我们打开COM口,即可接收数据,还可以看到数据的总量,非常方便.想要小工具的可以关注并私信我;“串口调试工具”。
当然如果想发送让PC识别的语言的话,需要借助ASC码来帮助,这个码,大家可以去网上查找,即是通过用计算机容易发送的数字来表示字母;(比如说A在码中以16进制数字41代替,Z在码中以16进制数字5A代替)通过这个转换,PLC终于可以按照人的意愿和PC对话了,但要切记,通讯过程中的字与字之间最好用分隔符分开,而且安全起见,最后一位可以通过程序做效验。
对于一些复杂的自由口通讯协议,比如说松下伺服驱动器等涉及精度,复杂功能或者安全等,需要多次读写发送来验证是否通讯有效,这就需要中断来帮助,在这里对于端口0发送完成的标志是中断事件9,端口1发送完成的标志是中断事件26,对于端口0接收完成的标志是中断事件23,端口1接收完成的标志是中断事件24。
相关问答
二维码扫描到plc怎么显示?
由于PLC不像电脑有底层驱动来解析扫码枪数据,所以PLC要想获取扫码枪数据的话需要连接个转换模块,转换模块解析到扫码枪数据再通过RS232或者485,或者存在寄存器...
二维码扫码模块怎么和plc连接?
由于PLC不像电脑有底层驱动来解析扫码枪数据,所以PLC要想获取扫码枪数据的话需要连接个转换模块,转换模块解析到扫码枪数据再通过RS232或者485,或者存在寄存器...
RFID扫码在plc中如何编程?-ZOL问答
1,RFID射频扫描技术目前和PLC的链接只能通过通讯来链接,经过通讯协议将数据传输至PLC,经PLC解析后才可以使用2,目前大多数支持自由口通讯,自由口通讯相比modbu...
RFID扫码在plc中如何编程?
一般Rfid的读卡器都是自由通讯,每家读卡器的通讯代码都不一样,但都很简单。一般Rfid的读卡器都是自由通讯,每家读卡器的通讯代码都不一样,但都很简单。
扫码枪和plc通讯线怎么接?
扫码枪和PLC(可编程逻辑控制器)之间的通讯通常可以通过串口实现。一般而言,扫码枪的串口线会分为两个字头,一个是9针的D-sub,另一个是RJ45。PLC也有不同类型...
三菱PLC与条码扫描枪通讯为什么PLC无法读出条码信息了?(PLC为FX1N系列,使用RS232通讯模块与PS7120扫描枪)?
看你要和什么通讯了,如果是变频器请你先了解变频器的通讯格式,和数据格式。知道这个就可以了。变频器有接收数据格式,控制格式有好几种,你要看看变频器说明书...
万博客户端app下载官网(中国)官方网站·IOS/APP下载/APP_微思
用万博客户端app下载官网可领取大量福利,视频攻略抢先看扫码打开当前页下载小编点评💟导语:万博客户端app下载官网👠是一家备受瞩目的体育平台,😙提供丰富...
你好,大侠,我先请教扫描枪跟台达触摸屏如何通讯的问题?
本人觉得不管是扫描枪跟触摸屏连接,还是PLC连接,首先要搞清楚通讯方式,这种方式两端都支持,然后添加通讯驱动,最后设置通讯参数设置一致,应该就可以了,我...
云顶4008(中国)官方网站·IOS/APP下载/APP_微思
用云顶4008可领取大量福利,视频攻略抢先看扫码打开当前页下载小编点评👾导语:云顶4008☀️是一家备受瞩目的体育平台,🪁提供丰富多样的体育赛事和刺激的游...
华体汇APP(官方)APP下载安装IOS/登录入口/手机app_微思
用华体汇APP可领取大量福利,视频攻略抢先看扫码打开当前页下载小编点评👑导语:华体汇APP🩰是一家备受瞩目的体育平台,✨提供丰富多样的体育赛事和刺激的游...