AMX编程教程.docx

上传人:b****3 文档编号:3123659 上传时间:2022-11-17 格式:DOCX 页数:36 大小:1.60MB
下载 相关 举报
AMX编程教程.docx_第1页
第1页 / 共36页
AMX编程教程.docx_第2页
第2页 / 共36页
AMX编程教程.docx_第3页
第3页 / 共36页
AMX编程教程.docx_第4页
第4页 / 共36页
AMX编程教程.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

AMX编程教程.docx

《AMX编程教程.docx》由会员分享,可在线阅读,更多相关《AMX编程教程.docx(36页珍藏版)》请在冰豆网上搜索。

AMX编程教程.docx

AMX编程教程

新建主机程序设计文件简介

通过NetLinxStudio新建程序

选择New

选择SourceFile,其它的为模块及包含文件设计,我们暂不管它。

WorkspaceWizard是一个工程项目管理,可以把整个项目所涉及的文件管理起来,方便您查找,单独的SourceFile文件也是可以用的,我们先选择SourceFile

是否创建新文件,选择Yes

选择,主机的标准模版,网络型主机则选择NetLinxStandardTemplate

输入文件名

选择要保存的路径,按下一步。

点击完成,创建出新文件。

把蓝色的字给收起来,总体上我们可以看出分如下几块:

PROGRAME_NAME为文件

DEFINE_DEVICE为定义要控制设计的控制接口

DEFINE_CONSTANT为定义常量

DEFINE_TYPE为定义类型文件

DEFINE_VARIABLE为定义变量

DEFINE_LATCHING为定义锁住键

DEFINE_MUTUALLY_EXCLUSIVE为定义互锁

DEFINE_START定义启动时需要执行的程序

DEFINE_EVENT为定义事件语句

DEFINE_PROGRAME为定义实时的程序语句

所有的程序必须放在固定的定义下,如变量必须放在DEFINE_VARIABLE下,事件语句必须放在DEFINE_EVENT

如何设置连接并设置固定IP

如何实现NetLinxStudio软件与中控主机的第一次连接:

我们可以通过如下几种方式来进行连接:

1.TCP/IP

2.COM

3.Moderom

4.USB

由于设备的出厂IP地址是设置为DHCP的,所以刚开始我们无法用网络来连接,如果您可以用分配IP的式给中控主机分配一个IP,就可以用刚络连上主机,再对主机进行固定IP设置,就可以直接用网络进行连接,因为通过串口或其它方式,在遇到大文件时传输得太慢,或者可能因为传输文件太大而导致传输失败。

所以一般我们通常是通过串口对主机进行IP设置,再用网络实现传输,那么我们如何实现设置呢,如下图:

在软件的Settings?

?

》MasterCommunicationSettings

NoActiveSystemDefaultSetting是设置软件的连接,TerminalSettings为设置软件自带的超级终端的连接。

所以我们选择前者,点击?

?

》CommunicationSettings

NetLinxMaster为网络型中控主机,如果不是网络型中控主机则选择AxcessMaster?

?

》Serial

如果对上面显示的NetLinx-COM1,38400,8,N,1,N不符合您的设置要求,按EditSettings进入设置修改

根据您电脑的串口选择ComPort,自带串口的默认为COM1,USB转串口的则为安装产生的端口号,BaudRate默认的为38400,N,8,1,(主机后面编程端口8位拨码开关为前5个向下,后3个为向下,具体的看设备具体的设置)

最后一直选择OK完成。

完成设置之后,您可以在状态栏下面看到如下:

如下显示为:

NetLinx-COM1,38400,8,N,1,是不是您想要的设置,如果不是刚表示您设置的有问题,请重新设置。

如果设置是正确,我们可以检测一下是否能连接上,涮新一下在线列表如下图:

点击OnLineTree

点击右键RefreshSystem涮新在线更表

所有系统里面的设置都会显示出来,而且状态栏也相应的变绿。

以上现像足可以表示您的软件已经连中控主机连接上了,如果还是连接不上,可能您的电脑串口存在被其它程序占用的可能,或者您的连接线有问题。

(连接线为23交叉的连接线)。

接下来我们就可以对中控进行IP地址的修改,点击如下图:

点击进入:

选择GetIPInformation可以获取到主机的IP信息,如下图可以对主机进行设置:

设置完之后,选择SetIPInformation提示成功,如下图:

点确定,最后重启中控主机,设置完成。

如何定义控制设备接口程序

我们控制每个设备都有对应的设备接口

如:

控制灯光窗帘,有相应的继电器接口,控制矩阵有相应的232串口,控制DVD则有相应的红外接口

要控制这些设备,需要相应的连线的同时,我们也必须清楚,在AMX系统编程里面我们要往哪里发送命令,才能对应的控制到这些设备上来。

在AMX系统里面主要涉及到3个号,即所谓的D:

P:

S

D:

DEVICE就是每个设备的设备号;P:

PORT即端口号,每个设备可能又会分为好几个端口,如NI3100有17个端口,包括7个串口,1个继电品口,8个红外口,1个I/O口,NI2100则有9个端口;S:

SYSTEM即系统号,我们可以大致上这么说,每台主机可以当成一个系统。

以NI3100主机为例:

设备号:

       默认设备号为5001;(可以通过软件进行修改,如NetLinxStudio)

端口号:

     固定死的,1-7为串号,8为继电器口,9-16为红外口,17为I/O口(在设备的后面版有标记为Port几)

系统号:

     默认为1;(可以通过软件进行修改,如NetLinxStudio,也可以为“0”表示为本系统,程序所上传的系统)

从上可知我们定义一个串口来控制矩阵,一个继电器口控制灯光,一个触摸屏进行控制。

如下程序:

DEFINE_DEVICE下定义为

AVSWITCH  =5001:

1:

1

RELAY         =5001:

8:

1

TP              =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代表的是本系统(上面所提到的)。

我们在接下来的程序设计的按钮事件里面可能会出现如下语句:

BUTTON_ENENT[TP,1]

{

     PUSH:

ON[RELAY,1]

}

上面这小段程序的意思是,触发1号通道按钮的时候,打开断电器第1路。

我们同样也是可以这么写的:

BUTTON_ENENT[10001:

1:

1,1]

{

     PUSH:

ON[5001:

8:

1,1]

}

上面两段程序执行的效果是一样的,可定我们定义设备接口其实可以这么理解为,用自己定义的名字来代替现有的设备端口,这样也有一个好处,如果你改接口了,只要改定义设备的定义,也不需要全部修改程序里面的设备接口,而且您通过自己命名的名字,程序的可读性也比较好。

我们刚才说到的D:

P:

S的定义规则,那么我们如何来知道,每个设备的D,每个设备的P,每个设备的S呢?

D就是每个设备的设备号,主要分为两种,一种是在硬件上就可以直接设置的,如触摸屏,在触摸屏的设置菜单上就可以设置了,护展盒,有8位拨码开关,通过二进制算法,算出地址,另一种是直接在软件上就可以设置设备的设备号,每个设备都是有一个默认的设备号。

P就是设备的端口号,大部分都是相对固定的,中控主机都有在后面标明着,触摸屏则可以自己设置。

S就是系统号,通过软件来设置,在一个系统的情况下,一例写0,代表本系统,肯定没错。

所有的设备系统号都是跟着所连接的主机定义的。

还有一个更快捷的方法,把整个系统连接起来,通过编程软件涮新一下在线列表,所有的设备号,系统号都会在在线列表里面显示出来。

这样您定义设备的时候就一目了然了。

AMX源文件的设置

通常我们编译程序文件的时候会生成2个文件,一个是TKN,一个是TKO,但有些人多生成了一个SRC文件

这个SRC文件是怎么来的呢?

SRC文件就是程序在电脑上运行的,可编程的文件

TKN文件是AMX主机上面运行的机器执行文件

TKO文件主要是用来做模块程序间的调用

TKO的主要用途是当一个程序分为好几块程序来写的时候,如果是用到define_module来调用另一个文件的时候,可以直接来调用TKO文件,而不需要给别人源文件程序,也可做到,自己的程序不让别人看到代码照样能运行.

从程序的编程角度上来讲,我们知道AMX主机和其它各个品牌中控的最大优势是能可上传也能够下载程序,

如果我们想从一台NI的主机上下载程序,如果原来的人编程人员没有上传SRC文件的话,我们是下载不了它的源文件的,下载下来的只是一个空文件,那么以前的那个编程人员就太坏了,不把源程序上传到上面,但这是软件的默认方式,可见AMX厂家更坏,当然还有更更坏的,把源文件上传了,把文件设置了一长串的密码,虽然你下载下来了,程序还是需要密码才能打开.

 

以下是关于对编译设置的步骤:

从软件的设置属性

在NetLinxCompiler文件的编程进行设置

CompileWithDebugIn代表着,可以在程序里面执行Debug,可以设置断点程序,让程序一步步执行

CompileWithSource代表着可以编程程序的时候生成SRC文件

CompileWithPasswordProtec代表着生成的SRC文件,需要设置的密码才能打开

如何实现程序下载

在设置好NetLinxStudio软件与主机连接的情况下,步骤如下:

选择Receive接收

选择ADD,添加程序

选择要下载的文件类型,如中控主机的程序,选择SRC文件,再选择ADD添加文件

选择保存路径,填好文件名,再按保存

输入设备号,端口号,系统号

主机为:

0:

1:

0(任何主机都一样)

触摸屏为:

10001:

1:

0(假设触摸屏的设备号是10001)

红外文件为:

5001:

9:

0(假设主机为NI3100,从第一个红外端抽红外程序)

可见本例应为0:

1:

0

再点OK确定

看到下面列表多了E\Project\Working\Sunkai...这个就是刚设置好保存的文件信息,Mapping为0:

1:

0,点击OK确定

下面新增出现即将要保存的文件信息,连接主机的IP为192.168.1.21

再点击Receive进行程序下载

如下图所示为下载程序的信息,下图为下载失败,如果下载成功则会打勾!

下载完成后,到保存的目录下打开程序,如果是主机程序,是SRC格式,打开的方式可以用NetLinxStudio来打开

也可以把SRC后缀后改成RAR后缀名,直接用压缩包的格式打开.

如何对继电器操作程序编写

我们要实现的是把下触摸屏或面板的按钮就实现继电器的开关动作

下面是定义的一个控制面板和NI2100设备上的继电器接口进行控制,如下图:

下面定义了一个自定义变量供下面的方法三使用:

下图功能为:

按下按钮11打开继电器3,如果继电器3接的是灯光的控制,则打开灯光,如果是某设置的电源刚是控制设备的电源开,按下按钮12则是关闭,按下按钮13的功能为,按一下开,再按一下关,一直循环下去。

有如下三种方法,如下图:

下面功能为继电器时间顺序的开关,注意Wait后面的大括号一定要添加,它是表示一个命令的集合,如果不添加程序只跟着一个语句,ON[RELAY,3]和[RELAY,5]会马上打开,10是1秒,它是以0。

1秒为单位的,所有的时间都是从刚按下按钮的时候算起的,所以第2秒应该是Wait20,而不是紧接着Wait10

下面是触摸屏或按钮状态跟着程序走,看到按钮状态,相应的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1