当前位置:文档之家› AMX编程软件介绍语法说明及实例

AMX编程软件介绍语法说明及实例


以 NI3100 主机为例:
设备号:
Studio)
默认设备号为 5001;(可以通过软件进行修改,如 NetLinx
端口号:
固定死的,1-7 为串号,8 为继电器口,9-16 为红外口,17 为 I/O 口(在设备的后面版有标记为 Port 几)
系统号:
默认为 1;(可以通过软件进行修改,如 NetLinx Studio,也可以 为“0”表示为本系统,程序所上传的系统)
也可以把 SRC 后缀后改成 RAR 后缀名,直接用压缩包的格式打开.
如何对继电器操作程序编写
我们要实现的是把下触摸屏或面板的按钮就实现继电器的开关动作 下面是定义的一个控制面板和 NI2100 设备上的继电器接口进行控制,如下图:
下面定义了一个自定义变量供下面的方法三使用:
下图功能为:按下按钮 11 打开继电器 3,如果继电器 3 接的是灯光的控制,则 打开灯光,如果是某设置的电源刚是控制设备的电源开,按下按钮 12 则是关闭, 按下按钮 13 的功能为,按一下开,再按一下关,一直循环下去。有如下三种方 法,如下图:
下面是触摸屏或按钮状态跟着程序走,看到按钮状态,相应的也就知道了继电 器的开关状态
如何实现矩阵程序编程实例
实现 8X8 矩阵的自由切换,先选择输入源,再选择输出源,可以一次性选择多个 输出源,如下图:
D 就是每个设备的设备号,主要分为两种,一种是在硬件上就可以直接设置的, 如触摸屏,在触摸屏的设置菜单上就可以设置了,护展盒,有 8 位拨码开关,通 过二进制算法,算出地址,另一种是直接在软件上就可以设置设备的设备号,每 个设备都是有一个默认的设备号。
P 就是设备的端口号,大部分都是相对固定的,中控主机都有在后面标明着,触 摸屏则可以自己设置。
以上现像足可以表示您的软件已经连中控主机连接上了,如果还是连接不上,可 能您的电脑串口存在被其它程序占用的可能,或者您的连接线有问题。(连接线 为 23 交叉的连接线)。 接下来我们就可以对中控进行 IP 地址的修改,点击如下图:
点击进入:
选择 Get IP Information 可以获取到主机的 IP 信息,如下图可以对主机进行设 置:
如何实现程序下载
在设置好 NetLinx Studio 软件与主机连接的情况下,步骤如下: 选择 Receive 接收
选择 ADD,添加程序
选择要下载的文件类型,如中控主机的程序,选择 SRC 文件,再选择 ADD 添加文件
选择保存路径,填好文件名,再按保存
输入设备号,端口号,系统号 主机为:0:1:0 (任何主机都一样) 触摸屏为:10001:1:0 (假设触摸屏的设备号是 10001) 红外文件为:5001:9:0(假设主机为 NI3100,从第一个红外端抽红外程序) 可见本例应为 0:1:0 再点 OK 确定
如下显示为:NetLinx-COM1,38400,8,N,1,是不是您想要的设置,如果不是 刚表示您设置的有问题,请重新设置。 如果设置是正确,我们可以检测一下是否能连接上,涮新一下在线列表如下图:
点击 OnLine Tree
点击右键 Refresh System 涮新在线更表
所有系统里面的设置都会显示出来,而且状态栏也相应的变绿。
在 AMX 系统里面主要涉及到 3 个号,即所谓的 D:P:S
D:DEVICE 就是每个设备的设备号;P:PORT 即端口号,每个设备可能又会分为 好几个端口,如 NI3100 有 17 个端口,包括 7 个串口,1 个继电品口,8 个红外 口,1 个 I/O 口,NI2100 则有 9 个端口;S:SYSTEM 即系统号,我们可以大致上 这么说,每台主机可以当成一个系统。
在软件的 Settings??》Master Communication Settings
No Active System Default Setting 是设置软件的连接,Terminal Settings 为设置软件自带的超级终端的连接。所以我们选择前者,点击??》Communication Settings
NetLinx Master 为网络型中控主机,如果不是网络型中控主机则选择 Axcess Master??》Serial 如果对上面显示的 NetLinx- COM1,38400,8,N,1,N 不符合您的设置要求,按 Edit Settings 进入设置修改
根据您电脑的串口选择 Com Port,自带串口的默认为 COM1,USB 转串口的则为 安装产生的端口号,Baud Rate 默认的为 38400,N,8,1,(主机后面编程端口 8 位拨码开关为前 5 个向下,后 3 个为向下,具体的看设备具体的设置) 最后一直选择 OK 完成。 完成设置之后,您可以在状态栏下面看到如下:
以下是关于对编译设置的步骤:
从软件的设置属性
在 NetLinx Compiler 文件的编程进行设置
Compile With Debug In 代表着,可以在程序里面执行 Debug,可以设置断点程序, 让程序一步步执行 Compile With Source 代表着可以编程程序的时候生成 SRC 文件 Compile With Password Protec 代表着生成的 SRC 文件,需要设置的密码才能打 开
看到下面列表多了 E\Project\Working\Sunkai...这个就是刚设置好保存的文 件信息,Mapping 为 0:1:0,点击 OK 确定
下面新增出现即将要保存的文件信息,连接主机的 IP 为 192.168.1.21 再点击 Receive 进行程序下载
如下图所示为下载程序的信息,下图为下载失败,如果下载成功则会打勾! 下载完成后,到保存的目录下打开程序,如果是主机程序,是 SRC 格式,打开的方 式可以用 NetLinx Studio 来打开
如何设置连接并设置固定 IP
如何实现 NetLinx Studio 软件与中控主机的第一次连接: 我们可以通过如下几种方式来进行连接:
1. TCP/IP 2. COM 3. Moderom 4. USB 由于设备的出厂 IP 地址是设置为 DHCP 的,所以刚开始我们无法用网络来连接, 如果您可以用分配 IP 的式给中控主机分配一个 IP,就可以用刚络连上主机,再 对主机进行固定 IP 设置,就可以直接用网络进行连接,因为通过串口或其它方 式,在遇到大文件时传输得太慢,或者可能因为传输文件太大而导致传输失败。 所以一般我们通常是通过串口对主机进行 IP 设置,再用网络实现传输,那么我 们如何实现设置呢,如下图:
从上可知我们定义一个串口来控制矩阵,一个继电器口控制灯光,一个触摸屏进 行控制。如下程序:
DEFINE_DEVICE 下定义为
AVSWITCH RELAY TP
= 5001:1:1 = 5001:8:1 = 10001:1:1
AVSWITCH 为自己取的一个名字,目的是来代替 5001:1:1,代表的是第一个串 口,RELAY 也是自己取的名字,目的也是来代替 5001:8:1,代表的是继电器 接口。TP 代表的是触摸屏。它们的同一特点都是遵循 D:P:S 这样的一个规则 来的。这里面有没有空格都无所谓,有空格只是让几行代码看起来比较对齐。如 果一台主机的情况下,都可以写成 5001:1:0,5001:8:0,10001:1:0,因 为 0 代表的是本系统(上面所提到的)。
通常我们编译程序文件的时候会生成 2 个文件,一个是 TKN,一个是 TKO,但有些人 多生成了一个 SRC 文件
这个 SRC 文件是怎么来的呢?
SRC 文件就是程序在电脑上运行的,可编程的文件
TKN 文件是 AMX 主机上面运行的机器执行文件
TKO 文件主要是用来做模块程序间的调用
TKO 的主要用途是当一个程序分为好几块程序来写的时候,如果是用到 define_module 来调用另 一个文件的时候,可以直接来调用 TKO 文件,而不需要给别人源文件程序,也可做到,自己的程序 不让别人看到代码照样能运行.
下面功能为继电器时间顺序的开关,注意 Wait 后面的大括号一定要添加,它是 表示一个命令的集合,如果不添加程序只跟着一个语句,ON[RELAY,3]和[RELAY, 5]会马上打开,10 是 1 秒,它是以 0。1 秒为单位的,所有的时间都是从刚按下 按钮的时候算起的,所以第 2 秒应该是 Wait 20,而不是紧接着 Wait 10
}
上面两段程序执行的效果是一样的,可定我们定义设备接口其实可以这么理解 为,用自己定义的名字来代替现有的设备端口,这样也有一个好处,如果你改接 口了,只要改定义设备的定义,也不需要全部修改程序里面的设备接口,而且您 通过自己命名的名字,程序的可读性也比较好。
我们刚才说到的 D:P:S 的定义规则,那么我们如何来知道,每个设备的 D,每 个设备的 P,每个设备的 S 呢?
是否创建新文件,选择 Yes 选择,主机的标准模版,网络型主机则选择 NetLinx Standard Template
输入文件名 选择要保存的路径,按下一步。 点击完成,创建出新文件。
把蓝色的字给收起来,总体上我们可以看出分如下几块:
PROGRAME_NAME 为文件 DEFINE_DEVICE 为定义要控制设计的控制接口 DEFINE_CONSTANT 为定义常量 DEFINE_TYPE 为定义类型文件 DEFINE_VARIABLE 为定义变量
我们在接下来的程序设计的按钮事件里面可能会出现如下语句:
BUTTON_ENENT[TP,1]
{
PUSH:ON[RELAY,1]
}
上面这小段程序的意思是,触发 1 号通道按钮的时候,打开断电器第 1 路。
我们同样也是可以这么写的:
BUTTON_ENENT[10001:1:1,1]
{
PUSH:ON[5001:8:1,1]
设置完之后,选择 Set IP Information 提示成功,如下图:
相关主题