讨论

发那科karel读写IO有没有现成的小段代码参考下

小宋
小宋
2026/08/21 19:24

手上有个FANUC R-30iB的小项目,要从机器人这边读两路DI再去控一个气缸,还有一路DO给PLC回状态。之前一直用TP程序做,现在客户那边非要把这部分逻辑放到karel里跑,说方便后面远程改。

我搜了一圈官网资料全是英文的PDF看得头疼,哪位手上有读写IO的最简单的示例贴一下?比如定义信号、读入、赋值、判断、输出这几步的写法就行,不用太复杂,能跑通就成。另外顺便问下karel里IO编号跟TP里的那个R/DI对应关系咋填的,10011这种是不是直接写就行?

项目就剩三天了,不想再啃英文手册了,能省点是点。

95 4

全部回复 (4)

梁秀峰
梁秀峰#1

我们厂里用的就是karel读写IO,给你段:VAR status:INTEGER;BEGIN GET_PORT_VAL(1, status, 1); %读DI[1]到status里% IF status = 1 THEN SET_PORT_VAL(2, 1, 1); %DO[2]置1% ENDIF; END 跟你描述的需求差不多,你对着改改信号号就能用。

2026/08/22 14:25
郭福生
郭福生#2

信号直接写整数就行,DI[1]就是1,DO[2]就是2,前面那个100开头的你别管那是TP里显示用的。

2026/08/23 20:04
chen_hao
chen_hao#3

三天搞karel有点悬啊,这玩意儿光编译环境配一下就够你喝一壶的,客户为啥非得用karel?TP写两行IF不香吗。

2026/08/23 20:09
ltt1988
ltt1988#4

你先把karel编译环境装好再说吧,光这一步新手没半天搞不定,option也得开。

2026/08/23 20:09