首页 > 编程知识 正文

ethercat从站开发,ethercat从站模块

时间:2023-05-05 20:54:11 阅读:253198 作者:4619

这是我18年暑期为这款红色EtherCAT从站写的程序和测试过程,实现了io、ad、da功能。后续会上传这块板子的程序和使用文档。详细过程可以参考我写的程序。

1.测试准备

本实验采用了一块红色的从站开发板,8路输入(key)、8路输出(led)、1路AD、1路DA。

单片机程序、EEPROM和twincat软件目录下的XML文件,三者必须对应,否则会出错。
下图为stm32从站代码和xml文件。

需要把XML烧写进从站的EEPROM中,给stm32烧写从站程序,将xml文件拷贝到C:TwinCAT3.1ConfigIoEtherCAT。

2.建立TwinCAT工程

打开twincat,推荐使用Intel的cpu和网卡。在 Twincat 内安装网卡驱动,并创建一个新的工程,这部分我就不详述了。
右键点击 device→scan 扫描连接的从站设备:

接着会跳出“Scan for boxes”和“Activate Free Run”对话框,都点“是”。
正常会扫描到如下设备:

双击 BOX1,打开 online,可以看到从站处于 OP 状态,开发板上的RUN灯将会常亮。

板子目前实现了IO、AD、DA功能,点击Box1下面的图标,可显示如下内容。

Switch1——Switch8对应从站的I1——I8按键;LED1——LED8对应从站的O1——O8小灯;adc为电位器电压值,dac为输出电压值。

3.按钮测试

按下key,twincat上对应的变量Switch会在0和1之间切换,如图所示。

4.led测试

在twincat上对LED1~LED8赋值,可以控制LED小灯亮灭。

5.AD测试

转动板子上的电位器,twincat上的Analog input会产生0-3300的变化。1000对应1000mv,3000对应3000mv。

6.DA测试

在twincat上对dac赋值,可以在板子上检测出PA4引脚的电平。赋值1000对应1000mv,3000对应3000mv,以此类推。最高电压不超过3.3v。当dac赋值为2000时,万用表测得电压为1.8v。

7.程序小结

Stm32从站部分已经实现IO、DA、AD功能,底层驱动已经写好,只需对相关变量进行操作,即可实现特定的功能。

LED_1= sDOOutputs.bLED1;这句话将twincat中LED 1的值赋值给了从站的LED_1,从而控制了小灯的亮灭。
sDIInputs.bSwitch1 = SWITCH_1;这里将从站按键的值赋值给twincat中的Switch 1变量。
sAIInputs.adc = adcValue;
dacValue = sDOOutputs.dac;这两句实现了ad值的读入和da值的输出。
从站修改步骤大体是:1.自定义对象字典;2.在stm32从站程序中,添加外设驱动,初始化过程写在HW_Init();函数中。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。