Extron中控:使用VSCode拓展Extron ControlScript Extension进行 Extron 控制系统编程(四)

目标

        使用Extron的设备模块控制设备。

知识点

        Python模块的导入和使用。

详细步骤

  • 上两章的内容,我们用的都是自己写的控制指令,这些控制代码一般都能在说明书或者设备官网找到。但其实Extron官网收录了大部分受控设备的控制指令,且这些模块经过统一的测试和标准编码,编程更直观,故障诊断更加高效。熟练使用Extron设备模块能极大地提高我们的工作效率。

  • 假设我们现在要控制 Barco 的投影机,型号是G100-W22。
  • 先到官网下载设备模块的python文件和pdf类型的驱动说明。
  • python文件是封装好的一个类。
  • 驱动说明指导用户如何使用这个类。

  • 将下载好的 python 文件复制到 src\modules\device文件夹下。
  • main.py 中导入该文件并重命名。
  • 根据指导文件实例化对象。
  • 由于该设备是基于TCP连接的,所以要添加重连机制。
  • 调用相对应的方法。
from modules.device import barc_vp_G100_W16_W19_W22_v1_0_0_0 as barco_vp

projector = barco_vp.EthernetClass('192.168.10.214', 3023, Model='G100-W22')
projector.Connect(5)

def connect_proj():
    result = projector.Connect(5)
    if 'Connected' not in result:
        Wait(10, connect_proj)


@event(projector, ['Connected', 'Disconnected'])
def proj_connection(interface, state):
    if state == 'Connected':
        print('projector is connected')
    else:
        print('projector is disconnected, reconnecting...')
        connect_proj()

# Button instantiation
btn_projector_power = Button(panel, "btn_projector_power")


# Control
@event(btn_projector_power, 'Pressed')
def proj_control(button, state):
    if button.State == 0:
        projector.Set('Power', 'On')
    else:
        projector.Set('Power', 'Off')

    button.SetState(button.State ^ 1)

总结

        本中简单介绍了Extron的设备控制模块的使用方法,除了调用封装好的函数对设备进行控制外,模块还支持查询和订阅设备的运行状态,这部分内容会在后面的章节中继续讲解。如有疑问欢迎和我交流讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值