国产PLC控制板我用过几块,有仿三菱的有仿西门子的,总体来说不能和原厂家类比,但是胜在价格便宜,在一些小微场合确实有使用空间,而且单片机发展几十年了芯片越来越强,早就不是一干扰就完蛋的旧社会了。所以总体来说是能用。本次主角是这个:
此板子虽然是小厂甚至作坊开发的背景让他必然有一些问题,但是有485通信以及完整的主机和从机,在60来块的区间,我认为几乎是无敌存在,本着能用就是好的,便宜既是王道的理念开设本次博客。
我不打算宣传板子所以不上链接,我只是怕以后用的时候还得现找资料琢磨所以是记录贴自用。
首先作为仿三菱的工控板支持GX2是必须的。使用USB转DB9的232来作为编程口通讯。
485如何使用?
1、 需要满足8120的格式位,看下表确定传入D8120的数据值,注意这里的值控制着485是主机还是从机。
2、在D8123传入打算呼叫的从机地址 3、用RS指令进行数据发送,这里务必注意,这个RS必须使用上升或者下降延来触发发送指令。
D0 是modbus RTU 功能码
D1是操作地址
这个操作地址如果面对传感器啥的看相关的手册即可,而如果操作另外一个这种廉价PLC当从机设备则查下表
D2是操作数量 D3是返回值存放在哪里~! 具体的查看自带说明书研究。
作为485从机设定还是比较简单的就两步
1、设定D8120 2、设定本机设备作为从机的应答地址D8121存储 写到这里似乎是写完了`~ 但是。
零碎记录如下(随时补充吗,随时修改):
1、 目前不确定485是否有隔离。抗干扰能力未进入实战环境测试,待将来补充。 2、 M8180 寄存起可以 判断485应答的数据是否传输完成,这里我测试过,首先这个是作为主机使用的,当你RS一条命令后,M8180就断开了,当收到合格数据后M8180就导通了。
这里注意:M8180这个状态是阻塞的,也就是说如果RS出去没有回应则M8180是卡住在断开状态,实战时可写个M8180超时复位来保证稳定性。也可以不理会它直接下一轮RS发送等回应。
下面这个小例子是我发数据每5秒钟,取一个485温度传感器的温度数据,下面我写了个485断开报警的功能用的就是这个M8180,用M8180的常闭带一个定时器8秒,如果485连接正常则每5秒会M8180会吸合一次,这样T20就复位了,不会导通Y1报警灯,但是485如果断了则M8180会一直处于断开状态,触发计时器激活报警灯。
3、 当主机使用的时候有些传感器在改设备地址的时候要求串口发送一些非标准RTU数据,这时候还是要用PC的串口助手发码来改,板子的485符合RTU规则有些数据你写了也发布出来,我用串口助手监测到这一情况。 4、当从机使用时,我测试发485没有直接保持Y线圈的能力,可以通过M寄存器来控制输出线圈。
注释主机来一套:
注意:rs指令除了用跳边沿触发外还要注意数据接受寄存器,比如上面例子的D3这个是一个16位寄存器,如果收到数据比较多则D4也会有数据,再有的话D5也会存 也就是D3是起始位置,装不下都会往后存。调用的时候知道就行。
上图有一处错误,更正下作为主机通讯,地址应该用D8123
【D8121】本机通信地址,作为从机使用需要用这个地址。
【D8123】从机通信地址,作为主机使用需要用这个地址。
目前我拿到板子时间不足24小时,暂时写到这里,随时发现随时完善补充。
|