|
本帖最后由 rxz505260 于 2022-3-6 15:59 编辑
开发环境是T5L_modbus_V7版本
位控制有多种做法,都是用05指令向目标位写入0xFF来置ON,或者写入0x00来置OFF,这样就需要两个按钮。
另外一种用一个按钮实现取反还可以使用增量调节的循环功能做,步长设置为255,上限为255,下限为0。循
环发0或者255.这样就可以利用一个按钮来实现,但是弊端是触摸屏是持续向PLC发送ON或者OFF。PLC端自主改变
状态的时候会被触摸屏强制改回。
这里介绍利用按键返回+OS程序来做一个取反按钮,PLC端自主改变也不会收到触摸屏的影响。原理很简单,改变地址0x5050的值来写入到PLC。当按钮为ON时改5050为0x00,当按钮为OFF时改5050为0xFF。
触摸屏地址按钮地址为0x230F PLC对应位M10地址位为0x000A
触摸屏端建立一个按键返回按钮。
需要配置22文件2条命令
读取按钮状态 5A01 0102 01F4 0000 0000 1111 000A 0000
写入按钮状态 5A01 0502 01F4 0002 230F 5050 000A 0000
OS程序
Button_01:
LDWR R0,0x1111 ;按钮位读取地址到0x1111
MOVXR R180,1,1 ;将按钮状态装载到R180
IJNE R180,0x01, Button_01off ;判断按钮状态,ON继续,OFF跳转
LDWR R182,0x00 ;将R182置0x00
LDWR R0,0x5050
MOVXR R182,0,1 ;按钮地址5050改为0x00,用于按下按钮写入OFF
GOTO Button_01RET
Button_01off:
LDWR R182,0xFF00 ;将R182置0xFF
LDWR R0,0x5050
MOVXR R182,0,1 ;按钮地址5050改为0xFF,用于按下按钮写入ON
Button_01RET:
RET
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|