Linux设备上cifx板卡作为ethercat从站的调试记录
调试目标:
PC主机作为ethercat主站,linux设备上的cifx板卡作为ethercat从站,实现两边的正常交互。
环境准备:
windows系统的PC,PC上的intel网卡(必须选用支持做主站的网卡型号),linux设备,插在linux设备的cifx网卡,Twincat软件(做主站),SYCON.net(调试从站)
步骤:
1、Twincat,SYCON。net两个软件的安装,Linux设备的cifx驱动安装网上的教程已经很多了,我就不再赘述了。我简单记录一下我遇到过的问题。Twincat的device右键scan为灰色,重启一下设备就好了。
2、我选用的是single directory的方式在linux系统创建/opt/cifx的配置路径。一定要保证
/opt/cifx/deviceconfig/FW/channel0路径下有cifxecs.nxf文件。
3、打开SYCON.net,将ethercat下的Gateway/Stand alone slave下的CIFX设备拖到左边总线上
双击点开总线上的slave设备。
输入linux设备的ip
4、在linux运行测试程序cifxtcpserver,只要驱动装好了,这个测试程序应该是在的。
5、回到SYCON.net
点击scan就可以找到从站设备,没找到的话,可以把suitable only改成all。all找到的话勾选也可以。只能在all里找到应该是/opt/cifx/deviceconfig/FW/channel0路径下没有配置文件导致的。
可以在这里重新download一遍固件,但是我觉得没什么必要,/opt/cifx/deviceconfig/FW/channel0路径下有会自动加载的。
这里可以改输入输出IO信号的个数和名字,改不改都行,我是改了试试。
所有配置搞定后,点击apply和OK,关闭弹窗
然后再点击总线上的slave控件图标,右键选择download,就会生成一个nxd后缀的配置文件到/opt/cifx/deviceconfig/FW/channel0路径下。如果没有的话,可以右键Additional functions->export->DMB/nxd,生成一个.nxd的配置文件,手动放到路径下。
(后续更改配置也可以拖出来一个stand alone slave设备,直接修改配置导出,不一定要连接设备。)
右键connect,使从站运行起来。
6、打开Twincat,在device右键选择scan,扫描到ethercat设备。加载过程会比较慢。IO数量越少加载越快。所以前面IO我只留了两个。
7、在SYCON.net,双击连接状态下的绿色的slave图标,就可以看到当前的运行情况。
左边是Twincat模拟的ethercat主站的IO收发情况,右边是SYCON.net模拟的ethercat从站的IO收发情况。可以看到数据是对应的。
注意事项:
1、我自己本身调试了好几天,中间看了各路教程,所有软件的配置都尝试了多种办法,记不清到底那些是必须的。所以可能会有遗漏的步骤没有记录。(例如将ethercat从站的设备描述文件放到Twincat的路径下,这些很多教程都有提到过。)如果遇到跟我的界面和现象有所不同。可以多参照一些其他教程。
2、每次修改从站的配置, 主站都需要删除device并重新scan,不然运行就会出错,提示状态异常。类似图上的现象。前期以为是从站的配置不对,查了很久,浪费了很多时间,结果是主站需要重新扫描。
3、cifx板卡的网线接的是靠近三个LED灯的那个网口。也就是channel0,
其他的想起来再说吧。