[PGMIII编程] PGMIII编程 PGMIII中控网络控制其它公司产品

  [复制链接]
creator_技术 发表于 2014-6-10 23:21:44 | 显示全部楼层 |阅读模式

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

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

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

      PGMIII编程如何网络控制其它外围设备呢???
13412804288312.jpg

      1.网络控制要在一个IP段里面:IP是英文Internet Protocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也可以叫做“因特网协议”。
             1)例如192.168.1.20与192.168.1.200这样就是在同一个IP段,子网掩码相同,网关相同即可进行时时通讯;
             2)不同IP段通讯例如192.168.1.15与192.168.10.25这就是两个不同的IP段,如何设置他们能相互通讯,并且可以通过一个路由访问外网呢?这里就需要,子网掩码的设置了(子网掩码的介绍这里不就说明了,各位可以度娘一下,介绍太过复杂,这里很难讲解清楚
       2.接收控制的外围设备要支持TCP/UDP协议,开发控制端口。

       3.接收控制的外围设备开放网络控制命令,一些设备厂家把串口代码与网络代码设置的是一样的,一些设置的是不一样的,这个需要各位技术人员,自己去寻找了。
       4.下面给出的矩阵说明书中,矩阵默认IP与中控默认IP不在一个IP段,当你看到这段说明你已经认真看我写的说明了,这里链接一个地址为我写的如何上传PGMIII程序和如何修改中控IP地址:Think Control软件上传说明 回复即可下载!!!
       5.可以使用软件对矩阵进行一下控制,确认无误在写进中控进行控制,软件链接地址 技术人员必备调试工具 回复即可下载!!!
       6.下面指令集,第16条命令给出了矩阵的视频切换指令。混合插卡矩阵下载地址:http://www.creator.com.cn/Products/Upload/instruction/CROSS08163272144.pdf
       7 .下面说明5.1给出了矩阵的网络控制IP和端口。

这里我们以CREATOR快捷矩阵为例:



1.CREATOR矩阵说明书:
                                                                                                                                                


第五章、指令集
串口协议:波特率: 9600 数据位:8 停止位:1 校验位:无
序号指令功能描述
1/*Type;查询矩阵的型号
2/%Lock;锁定键盘。
3/%Unlock;解开键盘的锁定。
4/^Version;查询软件版本。
5/:BellOff; 关闭蜂鸣器
6/:BellOn;打开蜂鸣器
7/:MessageOff;关闭串口返回,只返回“SWITCH OK!”等少许字符。
8/:MessageOn;打开串口返回
9Demo.设置系统工作于 Demo 模式。在此模式下,每个输入输出通首将会依次切换,每条切换的时间间隔为 3 秒。如 AV0808:进行 Demo模式后,将会 1V1. 1V2......8V7.8V8.1V1. 1V2.....
10Undo.取消当前操作,所回上一次切换的状态。
11[x]All.[x]路输入到所有路输出。
12All#.
13 All$. 关闭所有通道。
14[x]#.[x]路输入对[x]路输出。

15
[x]$.
关闭[x]路输出。
16
[x1] V[x2].
[x1]路输入到[x2]路输出,视频切换。[X1]0 时,表示关闭 x2 路 视频

5.1 网络接口默认参数

数字无缝切换矩阵的网络端口号: 5000
数字无缝切换矩阵网络 IP:192.168.0.2
数字无缝切换矩阵网络网关号码: 192.168.0.1
数字无缝切换矩阵网络的子网掩码: 255.255.255.0
数字无缝切换矩阵网络 MAC 地址:0x00.0x11.0x22.0x33.0x44.0x55;

注意:重新启动数字无缝切换矩阵,所设置的网络参数才生效。



2.PGMIII程序编程示例


DEFINE_DEVICE                        //设备定义块,用于定于程序中要用到的设备模块
        T_Tp = T:10:TP;                //添加网络触摸屏,设定ID为10;
/*********************************************************************
设备定义块,主要定义中控自身的一些设备和快捷的一些外设,中控自身有串口
板,红外板,弱继电板,I/O板;快捷的外设有网络触摸屏,apple产品,继电器
墙上面板,音量控制器,灯光调节器;除去中控自身的主机板ID都为1000外,其
它外设根据外设上面的ID来定义,重复的可以拨码跳开。
*********************************************************************/

DEFINE_COMBINE                //触摸屏整合模块,这里可以把多块触摸屏进行整合;
/*********************************************************************
触摸屏整合模块,C语言编程,不是模块化编程,这里在编写程序中需要添加触
摸屏事件,如果不整合触摸屏,有2块触摸屏就要编写2边,如果整合后,只需要
编写一块即可。
*********************************************************************/

DEFINE_CONSTANT                //常量定义块;

DEFINE_VARIABLE                //变量定义块;
        int Jz_in;                        //定义矩阵的输入;
        int Jz_fb;                        //定义矩阵的输出;
        string Jz_out;                //定义矩阵的组合命令输出;
/*********************************************************************
CREATOR矩阵代码书写格式为1A1. 1V1. 1B1.代码较为简单,在C语言里面书写
代码不像图形化模块里面那样要全部代码都要书写一边,这里只需要把命令拆
分在组合即可。
因中控接收触摸屏的通道好为整形,而中控发出去的代码为字符串,所以我定
义两个整形作为矩阵的输入和输出,赋值中控接收到的触摸屏通道号;
定义一个字符串来发送最后组成的代码;
在中控F1帮助里面可以找到ITOA这个函数 就是把整形变成字符串的,所以我们
这里可以大胆放心的去定义;
*********************************************************************/

DEFINE_FUNCTION                //函数定义块;

DEFINE_TIMER                        //时间定义块;

DEFINE_START                        //程序初始化模块;
/*********************************************************************
程序初始化模块,是第一运行;
程序初始化模块,一般用于定义串口板,每个串口的通讯协议,根据受控设备不
同,定义的通讯协议也不同。
和登记一些CRNET设备;
制作双向屏互锁组模块;
时间模块启动块;
*********************************************************************/

DEFINE_EVENT                       //事件定义块;
/*********************************************************************
以CREATOR CROSS0808矩阵为例
矩阵的代码为XVY.
X代表矩阵的输入路数;矩阵是0808的 那X就是8路输入;
Y代表矩阵的输出路数;矩阵是0808的 那Y就是8路输出;
V代表矩阵的视频切换模式,V为视频模式;A为音频,B为音视频同步模式;
.代表结束符;

下面使用到此函数命令:
SEND_TCP
        void SEND_TCP(String ip,int port,String str)        * 功能:以TCP连接方式向主机发送数据        * param ip :主机IP地址        * param port :主机端口号        * param str :要发送的数据串        示例:        SEND_TCP("192.168.1.20", 2000, "0123456789"); //向IP地址为192.168.1.20,端口号为2000的主机发送数据
0808的全部代码如下  1V1.  2V1.  3V1.  4V1.  5V1.  6V1.  7V1.  8V1.  1V2.  2V2.  3V2.  4V2.  5V2.  6V2.  7V2.  8V2.   1V3.  2V3.  3V3.  4V3.  5V3.  6V3.  7V3.  8V3.   1V4.  2V4.  3V4.  4V4.  5V4.  6V4.  7V4.  8V4.   1V5.  2V5.  3V5.  4V5.  5V5.  6V5.  7V5.  8V5.   1V6.  2V6.  3V6.  4V6.  5V6.  6V6.  7V6.  8V6.   1V7.  2V7.  3V7.  4V7.  5V7.  6V7.  7V7.  8V7.   1V8.  2V8.  3V8.  4V8.  5V8.  6V8.  7V8.  8V8.

*********************************************************************/
        BUTTON_EVENT(T_Tp)        //创建一个按钮事件,要求无通道号;
        {
                PUSH()                        //要求按钮模式,只要按下模式;
                {
                        if(BUTTON.Channel>=1&&BUTTON.Channel<=8)
                /********************************************************
                95行为判断,如果按钮通道号,大于等于1且按钮通道号小于等于
                8时为真,为真时就把该按钮通道号在102行赋值与Jz_in,用作矩阵输入路
                数;
                *********************************************************/

                        {
                                Jz_in=BUTTON.Channel;//为真时把该通道赋值与Jz_in,用作矩阵输入;
                        }
                        else if(BUTTON.Channel>=9&&BUTTON.Channel<=16)
                /********************************************************
                104行为判断,否则如果按钮通道号,大于等于9且按钮通道号小于
                等于16时为真,为真时就把该按钮通道号在111行赋值与Jz_fb,用
                作矩阵输出路数;
                *********************************************************/   
     
                        {
                                Jz_fb=BUTTON.Channel-8;
                /*********************************************************
                中控里面不允许出现相同的通道号,所以这里只能以9-16,但是矩
                阵的输出也是1-8路,这里就把触摸屏发过来的9-16的通道号-8,
                9-8=1、15-8=7、16-8=8,正好符合矩阵输出代码的要求,赋值给
                Jz_fb。
                *********************************************************/

                                Jz_out=ITOA(Jz_in)+"V"+ITOA(Jz_fb)+".";
                /*********************************************************
                矩阵代码上面给出了,这里在输出后就要把代码进行整合,组成完
                整的矩阵代码,整形的运算1+1=2;字符串的运算是1+1=11,ITOA是
                把整形变成字符串,不同类型不允许在一起运算,所以都转换成字
                符串,单独写字符串的格式要加“”号。
                *********************************************************/

                                SEND_TCP(“192.168.0.2”,5000,Jz_out);
                /*********************************************************
               
这里运用到SEND_TCP TCP协议网络发送数据函数,意思是向IP地址      

                为192.168.0.2端口为5000的矩阵发送组合好的矩阵命令Jz_out;

                *********************************************************/
                        }
                }
        }
/******************************************************************
到此矩阵的书写就完成了,如果不明白什么意思,请参考F1里面的
ThinkControl函数、控制设备函数,中间的判断不明白的话请参考F1帮助里面
的creator语言规则里面的基本语法规则,请耐心仔细看,如果还不明白,请
照搬上面的代码,把注释/*.....*/ //删除掉
/******************************************************************/


DEFINE_PROGRAME                //程序轮询模块;
PGMIII网络控制设备(CREATOR矩阵为例).rar (3.46 KB, 下载次数: 26, 售价: 10 金币)
 楼主| creator_技术 发表于 2014-6-10 23:22:46 | 显示全部楼层
本帖最后由 creator_技术 于 2016-7-15 15:14 编辑

游客,如果您要查看本帖隐藏内容请回复





jianghua2n 发表于 2014-6-11 00:12:55 | 显示全部楼层
不错不错
pobabyshi 发表于 2014-6-11 08:15:01 | 显示全部楼层
12345678900
chenchen 发表于 2014-6-11 08:59:14 | 显示全部楼层
我能说我是来抢沙发的吗
李文欢 发表于 2014-6-11 09:02:02 | 显示全部楼层
进来支持一下................
章靖 发表于 2014-6-11 09:22:03 | 显示全部楼层
姐姐姐姐姐姐姐姐姐姐
宛唐公子 发表于 2014-6-11 09:31:49 | 显示全部楼层
赏你一个赞,记得给哥会
mxb 发表于 2014-6-11 09:39:04 | 显示全部楼层
连板凳都没抢着
KJZY 发表于 2014-6-11 10:20:25 | 显示全部楼层
辛苦了,希望看到更多这样的东西!
creator-sd 发表于 2014-6-11 11:38:49 | 显示全部楼层
楼主太黑了,要10个金币,意思意思两个就好啊!!
 楼主| creator_技术 发表于 2014-6-11 11:47:00 | 显示全部楼层
creator-sd 发表于 2014-6-11 11:38
楼主太黑了,要10个金币,意思意思两个就好啊!!

其实啊 我不是不会告诉他们的 下载过我以前编写的 CREATOR矩阵控制案例的 坛友 只要打开那个 把里面的SEND_COM修改成SEND_TCP 按照我这个抄写一下就OK了
安小暄 发表于 2014-6-11 13:38:10 | 显示全部楼层
很新鲜学一下
CREATOR-GP 发表于 2014-6-12 09:48:06 | 显示全部楼层
正在学习中。口口口口口口口口口口口口口口。
cjy6384 发表于 2014-6-12 16:40:59 | 显示全部楼层
学习学习  谢谢
东风破烂 发表于 2014-6-14 20:05:36 | 显示全部楼层
回复看看
chaos 发表于 2014-6-16 09:55:59 | 显示全部楼层
学习学习。。。
yayaya 发表于 2014-6-17 11:06:47 | 显示全部楼层
看看
z5545 发表于 2014-6-18 10:28:53 | 显示全部楼层
学习学习。。
张益达 发表于 2014-6-18 13:14:03 | 显示全部楼层
求一套完整教程
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则



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

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

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