信号指令编程——控制点型程序数据定义《十七》

Posted 机器人弗居

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号指令编程——控制点型程序数据定义《十七》相关的知识,希望对你有一定的参考价值。


信号指令编程——控制点型程序数据定义《十七》


I/O控制插补指令TriggJios、TriggLIOs的DO、AO或GO组信号的输出位置,可通过控制点型程序triggios或triggiosdnum、triggstrgo定义,程序数据具有统一的格式,因此,可以利用常规的方法,通过对程序数据进行设定或修改,改变控制点的位置及功能。在PAPID程序中,程序数据triggios、triggiosdnum、triggstrgo通常以数组的形式定义。


上节课我们一起学习了输出控制点设定指令编程,这节课小海与大家一来学习控制点型程序数据定义






信号指令编程——控制点型程序数据定义《十七》

 

信号指令编程——控制点型程序数据定义《十七》


 


01
  控制点型程序数据介绍
 
 
信号指令编程——控制点型程序数据定义《十七》
 


程序数据triggios、triggiosdnum用于DO、AO或GO组信号的输出控制点定义。triggios数据的信号输出值用num数据设定,triggiosdnum数据的信号输出用dnum数据设定。程序数据triggstrgo只能用于GO组信号的输出控制点定义,信号的输出值用纯数字的字符串数据stringdig设定。


程序数据triggios、triggiosdnum、triggstrgo的基本格式如下所示(以triggios为例),程序数据的名称可由用户自由定义。


信号指令编程——控制点型程序数据定义《十七》


triggios或triggiosdnum、triggstrgo型数据由逻辑状态型(bool)数据used,start,数值型(num)数据distance,equiplag,字符串型(string)数据signalname,以及数据setvalue(类型可为num、dnum、stringdig)复合而成。


 
信号指令编程——控制点型程序数据定义《十七》


信号指令编程——控制点型程序数据定义《十七》

 
信号指令编程——控制点型程序数据定义《十七》
 

ertert

0 2
  输出控制点各参数
 
 
信号指令编程——控制点型程序数据定义《十七》
 


1、used:控制点有效性,逻辑状态(bool)数据,TRUE代表输出控制点有效,FALSE代表控制点无效;


2、distance:控制点位置,数值(num)数据,单位为mm。设定值为输出控制点离基准位置的距离;


3、start:distance基准位置,逻辑状态(bool)数据,设定TRUE代表基准位置为移动指令起点;设定FALSE代表基准位置为移动指令终点;


4、equipLag:补偿外设动作的机器人实际移动时间,数据类型num,单位为s。EquipLag为正时,控制点将超前与distance基准位置,EquipLag为负时,控制点将滞后distance基准位置;


5、signalname:输出信号名称,字符串(string)数据,用来指定输出信号;


6、setvalue:信号输出值,triggios为num数据;triggiosdnum为dnum数据;triggstrgo为stringdig数据。


在PAPID程序中,输出控制点triggios、triggiosdnum、triggstrgo既可以完整定义,也可以对其中的每一项进行单轴修改,或者以数组形式一次性定义多个控制点。输出控制点数据定义编程示例如下所示:


MODULE MainModule VAR triggios triggios1_test; VAR triggstrgo triggstrgo2_test; VAR triggiosdnum triggiosdnum3_test; CONST triggios triggios4_test:=[FALSE,0,FALSE,0,"do1_test",0,0]; VAR triggios triggios5_test{3}:=[[TRUE,0,FALSE,0,"do2_test",1,0], [FALSE,10,TRUE,0.1,"do3_test",edge,0], [TRUE,20,TRUE,0.2,"do4_test",high,0]]; VAR triggios triggios6_test{3}; VAR triggstrgo triggstrgo7_test{3}; VAR triggiosdnum triggiosdnum8_test{3}; CONST robtarget p1_test:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]]; CONST robtarget p2_test:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]]; CONST robtarget p3_test:=[[0,0,0],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
PROC main() triggios1_test.used:=TRUE; !定义triggios1_test控制点有效; triggstrgo2_test.distance:=30; !定义输出控制点triggiosdnum2_test离基准位置的距离为30mm; triggiosdnum3_test.start:=TRUE; !定义triggstrgo3_test控制点的基准位置为移动指令的起点; triggios6_test{1}.equiplag:=0.3; !定义triggios6_test{1}输出控制点将超前于distance位置0.3s输出; triggios6_test{2}.signalname:="do5_test"; !定义triggios6_test{2}控制点的输出信号为do5_test; triggios6_test{3}.setvalue:=low; !定义triggios6_test{3}控制点将输出下降沿信号(10); TriggJIOs p1_test,v1000\TriggData1:=triggios6_test,fine,tool0; !TriggData1对应的数据类型是:triggios; TriggLIOs p2_test,v1000\TriggData2:=triggstrgo7_test,fine,tool0; !TriggData2对应的数据类型是:triggstrgo; TriggLIOs p3_test,v1000\TriggData3:=triggiosdnum8_test,fine,tool0; !TriggData3对应的数据类型是:triggiosdnum; ENDPROCENDMODULE

信号指令编程——控制点型程序数据定义《十七》


 
信号指令编程——控制点型程序数据定义《十七》


信号指令编程——控制点型程序数据定义《十七》

 
信号指令编程——控制点型程序数据定义《十七》
 

ertert


信号指令编程——控制点型程序数据定义《十七》


信号指令编程——控制点型程序数据定义《十七》


信号指令编程——控制点型程序数据定义《十七》

有趣的灵魂在等你

长按二维码识别


以上是关于信号指令编程——控制点型程序数据定义《十七》的主要内容,如果未能解决你的问题,请参考以下文章

(十七)泛型程序设计

计算机组成原理组成原理(续4)

(十七)泛型程序设计

6.4 访存指令的控制信号

编程基础——移动数据读入指令

编程语言的介绍