发表于:2013/11/11 14:10:20
#0楼
按是否变化,驱动器里的参数分两大类,一类是实时变化的,比如各种运行状态数据,如电流、转矩、功率等;一类是基本固定的,比如各种配置数据,比如电机类型、额定数据等等。
在SIMOTION的命令库Command Library中提供了用于读取驱动器数据的功能块,比如_readDriveParameter、_readDriveMultiParameter等,这些功能块适用于读取固定不变的配置数据,每触发执行一次,就读一次数据,相当于拍了一张瞬间的照片,用这些功能块来周期性读取状态值显然是不合适的。那么,这些实时变化的数据应该如何读取呢?
实际电流等实时数据可以通过扩展报文的方式来读取。从SCOUT V4.2开始,多了一个符号分配的功能Symbolic Assignment,报文的扩展可以自动完成。用户需要做的步骤如下:
1.完成项目中轴的配置,105报文会自动生成。在此基础上:
2.双击ADDRESS LIST打开IO变量定义表,在屏幕下半窗口
3.在窗口中定义需要的IO变量,比如要读取实际电流,那么可以定义一个名称为ActualCurrent的IO变量,其属性配置如图所示。在表格中Assignment一列中,可以浏览到驱动器的参数r68。
4.定义好IO变量后,编译项目即可。编译完成后,项目自动扩展驱动器报文。最后将SIMOTION与驱动器配置完全下载即可。
5.编写程序,将电流百分数转成实数。
myActCurrent:=RefCurrent*WORD_VALUE_TO_LREAL(ActualCurrent)/16384.0;
//RefCurrent = Servo_02.P2002