迪文科技论坛

 找回密码
 立即注册
搜索
查看: 943|回复: 5

【分享】基于OS与PLC modbus通讯取反按钮做法

[复制链接]

4

主题

19

回帖

293

积分

中级会员

Rank: 3Rank: 3

积分
293
发表于 2022-3-6 15:43:50 | 显示全部楼层 |阅读模式
本帖最后由 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
回复

使用道具 举报

0

主题

6

回帖

45

积分

新手上路

Rank: 1

积分
45
发表于 2022-8-7 22:31:04 | 显示全部楼层
感觉有点麻烦了,位控制控件太好用了
回复

使用道具 举报

18

主题

44

回帖

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2023-11-15 11:49:39 | 显示全部楼层
D5:F4 ,D5不是只有(0-4)嘛
D12--D13: 000A  , (D12--D14)不是未定义嘛?

按这样去弄没有命令下发

本帖子中包含更多资源

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

x
回复

使用道具 举报

4

主题

19

回帖

293

积分

中级会员

Rank: 3Rank: 3

积分
293
 楼主| 发表于 2023-11-23 09:29:11 | 显示全部楼层
简清 发表于 2023-11-15 11:49
D5:F4 ,D5不是只有(0-4)嘛
D12--D13: 000A  , (D12--D14)不是未定义嘛?

这个写法是早前汇编版modbus协议功能有限的做法。现在更推荐用C51去写 论坛里有现成的modbus协议,功能很全了,
回复

使用道具 举报

18

主题

44

回帖

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2023-11-24 18:28:16 | 显示全部楼层
rxz505260 发表于 2023-11-23 09:29
这个写法是早前汇编版modbus协议功能有限的做法。现在更推荐用C51去写 论坛里有现成的modbus协议,功能很 ...

T5不是不能用C51去写嘛?
回复

使用道具 举报

3

主题

17

回帖

162

积分

注册会员

Rank: 2

积分
162
发表于 2024-5-24 11:56:05 | 显示全部楼层
一个按钮开关非得做的如此复杂,直接在组态软件里定义不就好了
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-22 02:42 , Processed in 0.093463 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表