[PGMIII编程] PGMIII编程 CR-NET口控制8路继电器编写

  [复制链接]
creator_技术 发表于 2014-4-29 20:42:32 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转CREATOR快捷社区 ^o^

您需要 登录 才可以下载或查看,没有帐号?用户注册

x
本帖最后由 creator_技术 于 2016-7-15 15:09 编辑


DEFINE_DEVICE                        //设备定义块,用于定于程序中要用到的设备模块;
        M_Com = M:1000:COM;     //添加中控主机串口板,摄像机控制为串口;
        T_Tp = T:10:TP;                       //添加网络触摸屏;ID为10
        N_TP = N:0110:TP;               //添加CR-NET口射频触摸屏;
        N_Relay = N:05:RELAY;     //添加快捷的8路强继电器;
/*********************************************************************
设备定义块,主要定义中控自身的一些设备和快捷的一些外设,中控自身有串口
板,红外板,弱继电板,I/O板;快捷的外设有网络触摸屏,apple产品,继电器
墙上面板,音量控制器,灯光调节器;除去中控自身的主机板ID都为1000外,其
它外设根据外设上面的ID来定义,重复的可以拨码跳开。
*********************************************************************/
DEFINE_COMBINE                        //触摸屏整合模块,这里可以把多块触摸屏进行整合;
        [T_Tp,N_TP];                //把两个触摸屏整合成一块触摸屏;1+1=1,3+1=1模式;
/*********************************************************************
触摸屏整合模块,C语言编程,不是模块化编程,这里在编写程序中需要添加触
摸屏事件,如果不整合触摸屏,有2块触摸屏就要编写2边,如果整合后,只需要
编写一块即可。
*********************************************************************/
DEFINE_CONSTANT                //常量定义块;


DEFINE_VARIABLE                //变量定义块;


DEFINE_FUNCTION                //函数定义块


DEFINE_TIMER                        //时间定义块;


DEFINE_START                        //程序初始化模块
DEV_REG(N_Relay,1);
/*******************************************************************
DEV_REG为登记设备CR-NET口连接的设备ID,这里写不写不重要,写上二代8路
继电器的ID灯会亮,不写上也没关系,一样能控制。1为登记;
*******************************************************************/

DEFINE_EVENT                        //事件定义块;
/***************************************************************************
下面按钮通道号35为开启8路强继电器第一路,36为关闭8路强继电器第一路,因为CR-NET口
只能连接快捷生产的外设如:(8路继电器、4路调光器、音量控制模块、墙上面板)使
用的为快捷内部控制协议,所以不用输入控制代码,直接使用该控制函数即可。
下面为编写控制单路的开关,其它路数可以模仿下面两个按钮事件;
***************************************************************************/
        BUTTON_EVENT(T_Tp,35)//第一路开;
        {
                PUSH()
                {
                        ON_RELAY(N_Relay,1);
                        /*这里使用ON_RELAY函数,ON_RELAY函数可以用于中控主机上面
                        的RELAY控制,也可以用于CR-NET口的8路强继电器使用,ON_RELAY
                        为开启,这里表示为开启8路强继电器第一路;*/
                }
        }

        BUTTON_EVENT(T_Tp,36)//第一路关;
        {
                PUSH()
                {
                        OFF_RELAY(N_Relay,1);
                        /*这里使用OFF_RELAY函数,OFF_RELAY函数可以用于中控主机上
                        面的RELAY控制,也可以用于CR-NET口的8路强继电器使用,
                        ON_RELAY为开启,这里表示为关闭8路强继电器第一路;*/
                }
        }
/*******************************************************************************
下面为模拟控制幕布升降,投影机吊架升降,窗帘开关的模拟控制说明;
下面我们以幕布为例,连接8路强继电器第2路为上升,3路为下降;
幕布一般都为强电控制,两根火线,一根零线,一根地线;
626E0A13-A1A5-4BC6-A30A-958B1B947436.png
BUTTON_EVENT(T_Tp,37)//上升
        {
                PUSH()
                {
                        OFF_RELAY(N_Relay,3);
                        /*这里先关闭第三路,这里是为了防止两路控制都连通,这样会烧掉电机;
                        所以,先关闭已开启的第三路*/
                        WAIT 500
                        /*WAIT语句,这里我设置了延时0.5秒,使继电器第三路断开留一下时间,
                        不要这里还没断开,继电器第二路就闭合了,WAIT语句后面必须添加{}否
                        则你写的延时无作用,把要延时的设备添加到WAIT语句后面的{}中运行*/
                        {
                                ON_RELAY(N_Relay,2);
                                /*等0.5秒后开启继电器第二路*/
                        }
                }
        }

        BUTTON_EVENT(T_Tp,38)//停止
        {
                PUSH()
                {
                /*让幕布停止,直接关闭继电器第二路和第三路即可。*/
                        OFF_RELAY(N_Relay,2);
                        OFF_RELAY(N_Relay,3);
                }
        }

        BUTTON_EVENT(T_Tp,39)//下降
        {
                PUSH()
                {
                        /*幕布下降写法与幕布上升一样,只是继电器开启关闭
                        的路数更换一下*/
                        OFF_RELAY(N_Relay,2);
                        WAIT 500
                        {
                                ON_RELAY(N_Relay,3);
                        }
                }
        }
/*******************************************************************
到此CRNET口控制8路继电器的书写就完成了,如果不明白什么意思,请参考F1
里面的ThinkControl函数、控制设备函数,中间的判断不明白的话请参考F1帮
助里面的creator语言规则里面的基本语法规则,请耐心仔细看,如果还不明白,
请照搬上面的代码,把注释/*.....*/ //删除掉
/******************************************************************/
DEFINE_PROGRAME                //程序轮询模块; 20140429长春配置CRNET口控制8路继电器.rar (131.33 KB, 下载次数: 48, 售价: 10 金币)
谁人梦里无落花 发表于 2014-4-30 09:24:39 | 显示全部楼层
请个沙发来坐坐
hsq8091 发表于 2014-5-7 00:51:44 | 显示全部楼层
给点金币
章靖 发表于 2014-5-8 10:10:19 | 显示全部楼层
发vv方法解决好
 楼主| creator_技术 发表于 2014-5-8 18:33:15 | 显示全部楼层

不明白的 可以在论坛发帖 询问哦
 楼主| creator_技术 发表于 2014-5-8 18:33:26 | 显示全部楼层
章靖 发表于 2014-5-8 10:10
发vv方法解决好

不明白的 可以在论坛发帖 询问哦
康亮 发表于 2014-5-13 13:28:25 | 显示全部楼层
你好 你好 你好 你好 你好 你好
chaos 发表于 2014-5-14 10:32:21 | 显示全部楼层
你好 你好 你好 你好 你好 你好
HELLO 发表于 2014-5-20 09:38:00 | 显示全部楼层
赞赞,,,,,,,,,,,
a610242718 发表于 2014-5-21 10:34:09 | 显示全部楼层
BUCUO `````
a610242718 发表于 2014-5-21 10:42:40 | 显示全部楼层
学习学习···
BoodYOo 发表于 2014-5-27 11:16:02 | 显示全部楼层
回复是美德
王璐123 发表于 2014-5-30 10:46:21 | 显示全部楼层
学习一下 支持 哥的头像为你量身定做
xary110 发表于 2014-6-3 15:23:40 | 显示全部楼层
学习学习
酱油撒了一地 发表于 2014-6-3 16:12:29 | 显示全部楼层
看看,搜藏。
cjy6384 发表于 2014-6-5 10:18:30 | 显示全部楼层
学习学习  谢谢
无缘 发表于 2014-6-5 23:14:02 | 显示全部楼层
无缘 发表于 2014-7-3 12:02:22 | 显示全部楼层
能下载下来就好了
JOMY 发表于 2014-7-3 15:09:30 | 显示全部楼层
学习学习
奋斗 发表于 2014-7-4 10:35:43 | 显示全部楼层
看帖回帖。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则



QQ|小黑屋|手机版|Archiver|CREATOR快捷

版权所有:广州市天誉创高电子科技有限公司 2014

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