本示例展示了如何使用 fx-serial 库进行 三菱FX系列PLC 的串口通信操作。该库采用线程和队列缓存命令机制,因此支持批量操作,且 fx_register_setfx_register_get 均为非阻塞操作。

示例代码


#include 

#include \"fx-serial.h\"



int main(int argc, char *argv[]) {

    tint data;

    tstruct fx_serial *ss = fx_serial_start(\"/dev/ttyUSB0\", 9600, '7', 'N', '1');

    tfx_register_set(ss, 120, 100);

    tfx_register_get(ss, 120, &data);

    tprintf(\"D[%d] register data is :%d \", 120, data);

}

该代码首先通过 fx_serial_start 初始化串口通信,接着使用 fx_register_set 设置寄存器值为 100,并通过 fx_register_get 读取寄存器 120 的值并打印出来。代码中的通信过程是非阻塞的,能够高效地进行批量操作。