固高运动控制卡的使用 <2> 关于IO的访问以及调用(C#版)

 

固高控制卡之程序对IO的访问篇:

关于固高的io访问,我常用到的是固高提供的 GT_GetDi 和 GT_GetDo 两个方法,前者用于访问输入io的io状态,后者用于访问输出io的io状态。

关于官方对这两方法的说明:
指令原型:GT_GetDi (short diType,long*pValue)
指令说明:读取数字IO输入状态
指令类型:立即指令,调用后立即生效
指令参数:
      diType:指定数字IO类型。
      取值    :    0:正限位
                         1:负限位
                         2:驱动报警
                         3:原点开关
                         4:通用输入
                         5:电机到位信号
                         6:手轮MPG轴选和倍率信号
       pValue:数字IO输入状态,按位指示IO输入电平
                      当reverse=0时,1表示高电平,0表示低电平
                      当reverse=1时,相反

指令原型:GT_GetDo(short doType,long *pValue)
指令说明:读取数字IO输出状态
指令类型:立即指令,调用后立即生效
指令参数:
       doType:指定数字IO类型
         取值:      10:驱动器使能
                          11:报警清除
                          12:通用输出
          pValue:数字IO输出状态,按位指示IO输出电平
                         默认情况下,1表示高电平,IO表示低电平

在实际操作中如果只有一块固高控制卡(就是机台上只配备一个运动控制卡),GT_GetDi 以及 GT_GetDo 方法的输出值取决于diType 和 doType 并且同IO类型的IO信息数据都被获取到,它的返回值可以是十进制数也可以是其它类型的数据,在这里我们拿它的int类型的十进制数,(以下是C#中固高的gts类片段)

然后我们需要对它们返回的pValue进行十进制转换二进制的转换:

string to_BIN = Convert.ToString(pValue, 2);

转换后得到的操作数可能是101010110这样的二进制数,这里将得到的二进制数称为操作数那是因为在每个位上都代表一个io点,其中值为1代表“true”;为0代表“false”。
在这里我们暂时打住,首先需要讲清楚这串 11001010这样的二进制数是如何确定 第一位代表哪个io点位 第二个又代表哪个io点位,我们需要拿接线表的IO表来看,如下信息:

 

上图是部分接线表的io点位信息,在一些规范中我们通常将点位字母EX代表通用io,I 和O 代表输入还是输出,数字代表点位的下标,打住。这里这些数字代表下标,它就是我们要说的区分返回来的二进制数的每一位代表什么io点位,就是通过这个下标来区分的。比如说通过GT_GetDi得到的二进制数是111110111 从后面开始,第一个位置代表EXI0;第二个位置代表EXI1;第三个位置代表EXI2 以此类推。

实际程序中的调用:

//返回结果
        int result_DEC = -1;
        //调用固高底层,0代表控制卡的下标(只有一张取0),4代表通用输入io
        GTS.GT_GetDi(0, 4, out result_DEC);
        //将返回的结果转换成二进制
        string to_BIN = Convert.ToString(result_DEC, 2);
   //返回结果
            int result_DEC = -1;
            //调用固高底层,12代表通用输出io
            GTS.GT_GetDo(0, 12, out result_DEC);
            //将返回的结果转换成二进制
            string to_BIN = Convert.ToString(result_DEC, 2);

 

固高控制卡之程序对IO的设值篇:

可操作的io比如说,指示灯系列以及警报灯系列等。我们还是拿固高官方说明文档来就事论事把:
比如说我常用的GT_SetDoBit
指令原型:GT_SetDoBit(short doType,short doIndex,short value)
指令说明:按位设置数字IO输出状态
指令类型:立即指令,调用后立即生效
指令参数:
         doType:指定数字IO类型
               取值:10:驱动器使能
                          11:报警清除
                          12:通用输出

         doIndex:输出IO的索引
                取值范围:当doType取值为10或11时 doIndex取[1,8]
                                  当doType取值为12时 doIndex取[1,16]

         value:设置数字IO输出电平
                     默认情况下,1表示高电平,0表示低电平

实际程序中的调用演示:

//参数1表示第一张控制卡,12表示通用输出,index表示IO位的下标,status是bool类型的数据
GTS.GT_SetDoBit(0 , 12, Convert.ToInt16(index + 1), Convert.ToInt16(status));

 

固高C是指固高科技控股有限公司。固高科技控股有限公司成立于1990年,总部位于中国福建省厦门市。作为一家国内领先的电子信息企业之一,固高C专注于研发、生产和销售传感器、自动控制设备以及相关的解决方案。 固高C的产品涵盖了多个领域,包括工业自动化、机器人、精密制造、航空航天、汽车电子等领域。公司以自主创新为核心,持续引进国际先进技术,致力于提供高品质、高性能、高可靠性的产品和解决方案。 固高C在传感器领域的产品种类繁多,包括压力传感器、温度传感器、液位传感器、流量传感器等。这些传感器广泛应用于工业过程控制、环境监测、安防系统等领域,为客户提供精确、可靠的数据采集和监控服务。 除了传感器,固高C还提供自动控制设备。这些设备包括PLC(可编程逻辑控制器)、人机界面终端、运动控制器等。这些设备能够实现自动化生产线的控制和管理,提高生产效率和产品质量。 固高C注重技术创新,拥有一支专业的研发团队和完善的研发体系。公司持续开展技术研究和创新,推出了一系列具有自主知识产权的新产品和解决方案,并获得了多项国家级科技成果奖。 固高C一直致力于成为客户信赖的合作伙伴。公司拥有自己的销售网络和服务团队,能够为客户提供及时、专业的技术支持和售后服务,确保客户的需求得到满足。 总的来说,固高C作为一家领先的电子信息企业,通过不断的技术创新和产品优化,为客户提供高品质、高性能的传感器、自动控制设备以及相关解决方案,助力客户提升生产效率和产品质量。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值