广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 73|回复: 1

LUA关于2个从机,状态读取的问题

[复制链接]

1

主题

2

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 昨天 14:36 | 显示全部楼层 |阅读模式
一个小项目用到的是大彩4寸的480*480屏,第一次使用LUA实现逻辑控制。遇到点问题请问下:
系统是串口屏485+一个电压表+一个4入4出的485 I/O模块。
现在写的LUA程序读不到外部1x0000的状态
画面上分别绑定了0x0000、1x0000、1x0001的位状态指示控件,现在0x0000变化能正常运行,其余两个不行。
顺便问下select_slave()函数写不写都能读到0x0000?

_ENCRYPT_=0    --LUA脚本加密
-- 数据类型定义
VT_LW = 1    --变量地址
VT_RW = 2    --FLASH存储
VT_0x = 10
VT_1x = 11
VT_3x = 12
VT_4x = 13
local A = 0x1001
local B = 0
local start_test = 0x1004
function on_init()
    start_timer(1, 5, 0, 0)
    select_slave(2)
end
function on_run(screen)
end
function on_update(slave, vtype, addr)
--检测绑定的2号从机线圈位状态指示灯,这个单独运行正常可以检测到
if vtype == VT_0x then       
        if addr == 0 then
            set_uint16(VT_LW, 0x1005, 8)
        End
--检测画面绑定的2号从机离散输入0和离散输入1,不能读到状态
    elseif vtype == VT_1x then
        if addr == 0 then
            set_uint16(VT_LW, 0x1005, 0)
        elseif addr == 1 then
            set_uint16(VT_LW, 0x1005, 1)
        end
    end
end
function on_timer(timer_id)
    if timer_id == 1 then
        B = (B + 1) % 100  
        set_uint16(VT_LW, A, B)
    end

回复

使用道具 举报

1

主题

2

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 昨天 17:01 | 显示全部楼层
基础没学好已经找到教程了,帮助文档没有实际例程详细
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2025-4-16 18:54 , Processed in 0.042235 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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