组输入输出信号GI/GO,可以通讯分配好和PLC实现数值的发送与接收。本质是多个位打包成个字节8位;字16位;传输数值。
范围:发那科标准 GI 为 GI[1]~GI[16],每组默认 8位(可设4/16位),8位对应数值范围 0~255。16位对应、无符号:0 ~ 65535;有符号:-32768 ~ 32767。
一、GI/GO 与 DI/DO 区别1. DI/DO:单路开关,只能传 0/1(通/断)2. GI/GO:多路打包,可传 0~255 数字,适合编号、配方、参数。 二 、配置
跟DO/DI一样分配,只不过GO如果16位的话就相当于占用16个DO位。分配好重启生效,如下图所示
三、在程序里面的使用
1:比方说机器人作业工艺有三个阶段,我们如何判定机器人程序走到哪个位置,哪个工段了。这个时候我们可以在程序里面加入GO2=10这些数值,PLC内部判定对应的输入字IW即可知道机器人运行到哪个状态了,而做出相应动作。10抓取工位,20预清理,30精洗,40放件。根据实际工艺需要给GO赋值即可。
注意程序启动和结束把GO2清零就行了。
2:还有GI任务编号/配方选择
外部PLC通过 GI 发给机器人数字:
GI=1 → 执行程序1(抓取)
GI=2 → 执行程序2(焊接)
GI=3 → 执行程序3(码垛)
机器人再通过 GO 反馈当前运行编号/状态给PLC形成闭环。用IF语句循环,用WAIT等待GI信号等于指定数值。常常这样子用。也可以通过GI定义机器人运行速度,选择工位等。
GI也是需要定义的,总之需要传送数值数据就需要用到GO/GI。配合寄存器使用如R[1]=GI[1] ,直接读取外部数值到变量。也要注意如果DO/DI与GO/GI分配到同样的地址,GO调用占用了 DO就不要使用了,不然数据会错误。