在讲解TP程序的时候说过通用I/O分为数字I/O、组I/O合模拟I/O这三种类型,而相对应的,在KAREL语言中通用IO也是这三种,只是其符号名称发生了变化,功能没有发生任何变化,分别叫做:
- 数字:DIN[n]/DOUT[n]
- 组:GIN[n]/GOUT[n]
- 模拟:AIN[n]/AOUT[n]
以数字I/O为例,对于数字I/O其状态只有ON和OFF两种状态,这种只有两种状态的变量类型称之为布尔类型,也可以使用TRUE和FALSE来代表。
通过SDICOM接口可对有效电平进行设置,此处的ON、OFF代表的仅是逻辑状态,这一点与TP程序一样。
TP程序中经常使用WAIT指令用于等待信号,在KAREL中与之相对应的是WAIT FOR指令,也是通过判断cond_list的值来进行程序的控制,此处的cond_list可以是一个变量,也可以是多个变量。
当判断条件为ON或者TRUE时,程序可继续向下执行,否则将会一直在WAIT FOR当前行等待。判断条件与TP程序中一样,分为等于、不等于、小于、小于等于、大于和大于等于,此处需要注意的是,判断语句的操作数类型需要相同,基本上所有的编程语言在这一点的要求上都一样;
对于布尔类型变量还有一个常用的关键字就是IF指令,与TP程序一样,KAREL中使用的是IF condition THEN,跟Python或者西门子的SCL非常相似,当condition条件为真时执行判断语句内的程序段;
TP程序和KAREL程序可以相互调用,在ROBOGUIDE中建议使用TP调用KAREL程序,因为KAREL程序是无法在示教器上进行查看,如果只使用KAREL程序,在ROBOGUIDE中也无法动画演示运行,因为KAREL程序是属于工厂底层自动化代码,其调试过程跟嵌入式的调试方法有点相类似。
发那科机器人。
图文来源网络
详情了解:发那科机器人
TP程序和KAREL程序可以相互调用,在ROBOGUIDE中建议使用TP调用KAREL程序,因为KAREL程序是无法在示教器上进行查看,如果只使用KAREL程序,在ROBOGUIDE中也无法动画演示运行,因为KAREL程序是属于工厂底层自动化代码,其调试过程跟嵌入式的调试方法有点相类似。
发那科机器人。
图文来源网络
详情了解:发那科机器人