在上述传输过程中plc和伺服驱动器的信号配合看似比较复杂 ,其实我们可简单地用图3表示。
2.3 位置数据和校验和数据结构
在传输的38位数据中,前32位数据是伺服电机的绝对位置数据,后6位数据是校验和数据。在表示绝对位置的前32位数据中,按读入的顺序排列为最低二位到最高二位。在表示校验和的后6位数据中,其读入顺序也是从低二位到高二位。该6位校验数据是伺服驱动器根据其所传输的绝对位置值计算出的校验和。plc对读入的32位位置数据进行校验和计算,计算的结果与读入的6位校验和数据相比较,若相等则说明传输正确;否则,则说明传输不正确。
为了实现校验,必须要了解该传输协议所规定的计算方法,也即伺服驱动器内部对位置数据的计算方法,这样才能在plc中按照同样的方法来计算读入位置数据的校验和。只有按同样的方法计算得校验和,其比较才有意义。
例如,伺服驱动器传输的位置数据是013acf76h,二进制是“00,00,00,01,00,11,10,10,11,00,11,11,01,11,01,10”。该协议规定校验和计算方法如下:将每2位数据相加得,11000b=18h。所以该位置数据的校验和为18h。伺服驱动器传输的数据32位位置数据013acf76h和校验和数据18h。
3 软件编制
根据上述对绝对位置传输协议的分析,我们可以编制相应的程序。在编制该程序块时,为了使本程序对各种品牌plc具有参考价值并可进行移植,我们采用了各类plc常用的基本指令和各类plc都支持的功能指令来编制,如图5所示。