https://www.toutiao.com/a7012838905351537155/?log_from=84271b4abb57f_1636006865324 (前阵子有个订单一开始是设备要加两套扫码枪都是RS232通讯的) 前阵子有个订单,一开始是设备要加两套扫码枪,都是RS232通讯的,于是就买一个双232 通道的QJ71C24N-R2模块,搞得时候才发现居然是加三套扫码枪,要在ABC三个工位都各加一个扫码枪,用途产品扫了码上传到总工控才能进行作业,用于追溯制造数据。 三个工位 1#扫码枪 2#扫码枪 3#扫码枪 如上所示用3套基恩士的扫码枪,一个模块只有两个232通道不够怎么办,机智的我想到了把扫码枪A和扫码枪B公用一个232通道使用。只要在扫码枪设置的开始符号不一样就行。 具体如下操作。 打开扫码枪设置软件,A扫码枪设置页眉就是开始符$A B扫码枪设置页眉就是开始符$B,结束符设置一样就行,都是0D 下面是接线 如上所示接线,两把扫码枪2.3.5都接到同一个串口,下面是编程了,只要程序对收到的条码开始符(存在D3020)进行区分就知道是哪吧扫码枪扫到条码 D3020的数据识别A/B扫码枪 A扫码枪收到数据 B扫码枪收到数据 以上是A扫码枪和B扫码扫同一个条码PLC收到的数据,除了D3020不一样,后面都是一样的,程序就以D3020的数据判定是A枪扫的码还是B枪扫的码。 A枪扫码吗D3020是$A(K16676)开始,所以截取D3021以后的数据存到A枪存放地址D3100。 B枪扫码吗D3020是$B(K169732)开始,所以截取D3021以后的数据存到B枪存放地址D3200。 这样完美地节省了一个232模块,但是这种方式是有局限性的: 一、扫码枪支持设置输出不同的开始符,才能区分同一个232通道到底是哪把扫码枪扫的二、扫码枪不会同时触发,我这里的设备是同一个人挨个工位往下做的,不存在同时触发的可能性。如果以后客户加一个员工,因为扫码枪发送数据PLC接收处理数据也是是一瞬间,两个人恰恰好同时触发的概率及其渺茫,就算同时触发了导致接收不到或者乱码,这个是手工作业台,再单独扫一次就好了,所以我这里可以大胆的共用一个串口。所以小伙伴使用的时候要考虑设备自身条件是否满足哦。 |
|
来自: 山峰云绕 > 《单片机结构硬件底层通讯接口信号时序》