前言:
大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发C#的运动控制程序的时候,一个必要的步骤就是设置伺服报警信号的高低电平,下面进行详细介绍如何实现这一需求!
1、伺服报警
1.1 脉冲卡
对于雷赛的脉冲卡,使用自带的Motion软件打开以后,在单轴参数设置中可以找到关于伺服报警相关的设置,如下图:
在程序中设置报警信号的高低电平总共5个参数,如下:
1)报警启用
一般情况下报警是启用的
2)有效电平
这个有效电平的意思是,比如设置为高电平有效,则伺服存在报警时,该信号的电平为高电平,在上位机软件开发中,我们需要设置该有效电平是高电平有效还是低电平有效,对应于雷赛脉冲控制卡,
使用dmc_set_alm_mode函数设置报警有效电平,对应参数如下:
(1)卡索引
(2)轴索引
(3)是否启用报警信号
1是启用,0是不启用。
(4)报警信号的高低电平
1是高电平有效,0是低电平有效。
(5)报警信号的制动方式
0是立即停止,目前只能设置为0
所以如果是想要让轴1的报警信号为高电平有效,则卡索引为0,轴索引为1,启用报警信号为1,高电平有效为1,制动方式为0
public static extern short dmc_set_alm_mode(UInt16 CardNo, UInt16 axis, UInt16 enable, UInt16 alm_logic, UInt16 alm_action);
3)报警IO映射
一般很少使用
1.2 ethercat总线卡
对于雷赛总线卡,它的自带软件中没有设置报警信号高低电平的地方,如下图:
注意事项
1、设置伺服报警信号的高低电平必须在成功打开控制卡以后,伺服上电之前设置。
马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)
1、《C#串口通信从入门到精通》
2、《C#与PLC通信从入门到精通 》
3、《C# Modbus通信从入门到精通》
4、《C#Socket通信从入门到精通 》
5、《C# MES通信从入门到精通》
6、《winform控件从入门到精通》
7、《C#操作MySql数据库从入门到精通》