如何通过python来调试IGH的库呢?
可以使用如下的代码,测试请求主站,把主站变成激活状态。其他的函数也可以类似的一步一步调用。
结果如下:
from ctypes import *
igh=CDLL("/home/cheni/lichuan_bujin/libethercat.so")
igh.ecrt_request_master(0)
第一步:找到igh安装库的文件夹
我的安装后实在这个文件中,
找不到安装目录后,可以在安装包文件中再运行一下安装指令 make modules_install install,在里面翻一下,他会提示安装到哪个目录里面的。
不要复制那边那个带箭头的,那个是链接文件,libethercat.so.1.1.0才是实际文件。复制到自己的工程文件中,我的是lichuan_bujin,把后面的。1.1.0删除了,通过重命名,太长了,不好看。留这一样能用,就是文件名自己改就行。
第二步:先用命令行查看一下master的状态
运行前看下,一般这个阶段是Idle,这个master0
第三步:通过python3命令行一步一步试一下
这个要切换到管理员权限,不然请求主站的时候会提示权限不够
第四步:运行python程序,改变状态
这个也是要管理员的权限的
#igh_caozuo.py的内容
from ctypes import *
import time
igh=CDLL("/home/cheni/lichuan_bujin/libethercat.so")
igh.ecrt_request_master(0)
time.sleep(35)
注意这个暂停时间,如果不暂停,程序结束,就看不到状态机改变了。
第五步:查看状态机的阶段
请求完状态机后可以通过命令行查看一下主张的状态已经改变
这个跟他那个IGH手册上讲的是一致的。