Linux 平台上的 Focas fwlib32 CNC 库

问题描述

我正在尝试连接到 fanuc CNC 机器,我得到了 fwlib32 focas dll 并且它可以在 Windows 上运行。我想在 linux 上运行 focas,我​​想在 linux 平台上运行相同的库。 (参考Connect PLC to Python via Fanuc/Focas

解决方法

一旦你让它在 windows 上工作,按照步骤让它在 linux 上工作。

从下载的 focas dll cd 提取文件夹(或在线存储库 ex:https://github.com/strangesast/fwlib 请验证许可相关的东西), 复制 fwlib32.h 文件和 arm (for raspberrypi) 版本的 libfw32lib.so.1.0.*,复制文件 /home/pi

sudo cp ~/libfwlib32.so.1.0.x /usr/local/lib/libfwlib32.so.1.0.0

sudo ldconfig

sudo ln -s /usr/local/lib/libfwlib32.so.1.0.0 /usr/local/lib/libfwlib32.so

现在查找 fwlib32.cs 的行查找文本的所有实例

"fwlib32.dll"

并替换为

"libfwlib32.so"

在 fwlib32.cs 中,添加这些行

[DllImport("libfwlib32.so",EntryPoint = "cnc_startupprocess")]
public static extern void cnc_startupprocess(long level,string filename);

[DllImport("libfwlib32.so",EntryPoint = "cnc_exitprocess")]
public static extern void cnc_exitprocess();

在调用任何其他 fwlib32.cs 库函数之前调用此函数

long level = 3; string filename = "focas.log"; Focas1.cnc_startupprocess(level,filename);

调用之后,你可以使用下面的行连接,接下来你可以调用任何库函数

short statusCode = Focas1.cnc_allclibhndl3(host,(ushort)port,timeout,out pHdl);