资源描述:
《AMX基础编程编写.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、AMXAMX基础程序应用基础程序应用Device&Channel设备和通道•一套AMX中控系统由很多不同设备组成,每一个设备内有不同通道以实现各种功能。•一套系统內最多设备数量=255•一个设备內最多通道数量=255关键字keywords•DEFINE_DEVICE/定义设备•DEFINE_CONSTANT/定义常数•DEFINE_EVENT/定义事件•DEFINE_PROGRAM/定义主程序•PUSH/按键•RELEASE/松开按键•ON/打开•OFF/关闭–在软件中系统将关键字亮显为蓝色,对于不熟的关键字请在NetLinxStudio的帮助文档中
2、查找DEFINE_DEVICE•TOUCH_PANEL=128:1:0•devicenumber=128,port=1,system=0•AUTOPATCH=5001:1:0•devicenumber=5001,port=1,system=0devicenumber为设备地址,由该设备自己定义,port设备端口,system系统号码,一般来讲一套主机为一个系统,当有多个系统时应该从1开始设置系统编号DEFINE_CONSTANT•DVD_PLAY_TP=25定义一些常用的数据和一些标志性功能按键的通道号等,以便于程序的编辑和修改。•DEFINE_VA
3、RIABLE•INTEGERA•CHARB[3]定义全局变量和数组,可以在这里直接赋初值给变量,如果没有,系统将自动将其初始化为0DEFINE_MUTUALLY_EXCLUSIVE•DEFINE_MUTUALLY_EXCLUSIVE([RELAY,SCREEN_UP],[RELAY,SCREEN_DOWN])([RELAY,DRAPE_OPEN]..[RELAY,DRAPE_STOP])(VCR_SELECT,CD_SELECT,CASS_SELECT)•定义互锁所谓互锁,即该设备包括的这些channel中,只能有一个处于on的状态,当其中某一个ch
4、annel被设置为on的状态,那么其它channel将全部被置于off的状态。DEFINE_COMBINE•DEFINE_COMBINE•(VDevice,Panel1,Panel2,Panel3)•定义一组功能相同设备的关联•第一个设备即Vdevice必须为虚拟设备,程序当中定义到Vdevice的功能将会使其它关联设备具备同样的功能。•由于Vdevice是虚拟设备,那么它永远不会出现故障,也不会离线,在有多个触摸屏的系统当中可以起到恒定的维持主程序运行的作用DEFINE_START•系统初始化•可在此处初始化一些变量或者写一些调整系统状态的语句DE
5、FINE_EVENT•事件触发模块(NI系列)•BUTTON_EVENT(常用)•DATA_EVENT(常用)•CHANNEL_EVENT•LEVEL_EVENT•TIMELINE_EVENTBUTTON_EVENT•BUTTON_EVENT[DEVICE,CHANNEL]•{–PUSH://按下按键–{–//PUSHeventhandler–}–RELEASE://松开按键–{–//RELEASEeventhandler–}–HOLD[TIME]:orHOLD[TIME,REPEAT]://按住按键–{–//HOLDeventhandler–}•}
6、DATA_EVENT•DATA_EVENT[DEVICE]orDEV[]•{–STRING:–{–//STRINGeventhandler–}–ONLINE:–{–//ONLINEeventhandler–}•}DEFINE_PROGRAM•由主机不停地循环运行的主程序块•外部消息事件将首先由DEFINE_EVENT中已经定义了相应处理程序的事件模块处理,如果没有处理,将进入到DEFINE_PROGRAM中处理•该模块主要提供外部输入处理和不间断的设备反馈串口设备控制步骤•1、获得RS-232控制编码•2、按照产品说明书中接口指针的定义连接好控制线缆
7、•3、功能设计•4、控制界面和程序编写串口设备控制•主机串口针脚定义串口设备控制程序主要部分•DEFINE_DEVICE//设备串口定义•DEFINE_EVENT–DATA_EVENT//通讯参数设置–BUTTON_EVENT//功能实现例子:投影机矩阵串口设备控制投影机•投影机控制•需要实现的主要功能:开关(供电电源开关和投影机本身的开关)视频模式切换串口设备控制投影机DEFINE_DEVICEPROJ=5001:1:0TP=10001:1:0BUTTON_EVENT[TP,3]{//RGB信号模式RELAY=5001:8:0PUSH:{DEF
8、INE_EVENTSEND_STRINGPROJ,’RGB’DATA_EVENT[PROJ]{}ONLINE