1)打开CoDeSys,新建“Project”。
2)选择“Target Setting”,配置PLC版本及类型,如图5-25所示。
图5-25 配置PLC版本及类型
3)创建PLCPRG并选择编程语言ST,如图5-26所示。
图5-26 创建PLCPRG
4)创建快速任务FPLCPRG并选择编程语言ST,如图5-27所示。
图5-27 创建FPLCPRG
5)创建Profibus-DP功能块,并采用ST编程语言,如图5-28所示。
图5-28 创建Profibus-DP功能块
6)创建完毕以上程序块并在Profibus-DP功能块编程,如图5-29所示。
图5-29 对Profibus-DP功能块编程
7)Profibus-DP功能块程序代码如下:
程序如下:
8)在快速任务FPLCPRG中调用Profibus-DP功能块,如图5-30所示。
9)在PLCPRG中注册快速任务FPLCPRG,如图5-31所示。
图5-30 在FPLCPRG中调用Profibus-DP功能块
图5-31 在PLCPRG中注册快速任务FPLCPRG
10)在“GlobalVariables”全局变量表中定义Profibus-DP通信所用的轴结构体,同时定义is7amkval、iamks7val等通信变量,该处定义的轴结构体与Profibus-DP功能块程序相对应,主要完成与315-2DP之间的sync通信,即同步方式通信,这里只能完成32个字节的通信,对应到S7-300 GSD地址中的第0~31个字节,剩余的16个字节通信采用普通I/O方式完成通信,如图5-32所示。
图5-32 在“GlobalVariables”变量表中定义Profibus-DP通信轴结构体
11)在“PLC Configuration”中配置普通I/O通信方式的地址通道,这种方式不需编程,配置相应通信地址即可完成通信,最多只能完成16个字节的通信,如图5-33所示。其地址必须配置成byte32~byte47,输入与输出一样。(www.xing528.com)
图5-33 S7-300PLC与AMK伺服的普通I/O方式通信
完成以上步骤后,将程序编译下载到PLC卡里即可。
12)S7-300编程环境STEP7中的配置。
首先,需要添加KW-PB1卡的GSD文件,AMK厂商提供的该GSD文件名为“AEPB1GSD”,添加完毕后,在右侧Profibus-DP的“Additional Field Devices”文件夹下的“General”下面出现“AE-PB1”,拖拽到Profibus总线上,完成Profibus-DP从站的配置。
然后,设置“AE-PB1”从站地址为13,然后配置其通信列表,如图5-34所示,通信地址为IB60~IB107,QB60~QB107。
图5-34 S7-300PLC与AMK伺服通信hardware配置
13)由于AMK伺服PLC2卡中的字格式与S7-300的字格式正好相反,所以需要在S7-300中采用CAW指令,来完成高低字节的交换。因此,在OB1中编写一段交换高低字节的程序,如下所示。
AMK伺服控制系统原理及应用
14)AipexPro配置软件参数设置。
ID34023=13 Profibus DP总线地址(需要设置PB上S1=3,S2=1);
ID34024=0.00 Profibus-DP 总线波特率;
ID34025=03F0 Profibus-DP 总线模式;
ID34026=0000 Profibus-DP 总线模式属性;
ID34027=2 Profibus-DP总线故障属性,总线故障时的反应。
在插有PB1通信卡的KW2的“Inst1”中设置通信参数,如图5-35所示。
图5-35 Profibus-DP通信AMK伺服通信参数设置
15)在线通信实验:通过CoDeSys程序中发送相关数据,观察S7-300 PLC变量表中对应数据的接收情况。
首先,我们将iamks7val数组依次填入101~116,完成同步方式Profibus-DP通信。
然后将QW16~QW23依次填入216~223,完成普通I/O方式的Profibus-DP通信,如图5-36所示。
图5-36 Profibus-DP通信在线实验
以同样方法,可以观察S7-300PLC发送给AMK伺服的数据。这里不再叙述。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。