最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于光洋GDS—09FH数控系统的温度检测模块PLC程序设计

发布时间:2014-06-26 作者:刘旭 贾歆莹 化春雷 刘春时  来源:万方数据
关键字:数控系统 温度检测 PLC 
温度是电机工作状态的重要指标之一,为保证电机在正常状态下工作。对电机的工作温度进行实时监控是非常必要的。西门子伺服电机的内置编码器接口中的13和25号针为温度信号输出。在西门子系统下电机温度可以直接在驱动信息中读出。本例中所介绍的精密卧式加工中心使用的是大连光洋的数控操作系统。各伺服轴均采用了西门子的伺服电机,因此其输出的温度信号不能直接由光洋的伺服驱动器接收处理.需要使用光洋的温度检测模块对电机温度信号进行处理。使之能够在系统HMI中被用户读出。用户可以通过指定通道来选择查看各伺服电机的工作温度。实现对伺服电机工作温度的监控。光洋温度检测模块的编程是通过ST语言来实现的,ST语言是一种与C语言很相似的编程语言,具有使用灵活、编程速度快、便于阅读等特点。

  由光洋开发的温度检测模块实际可以理解为支持光洋G—UNK总线的高精度热敏电阻检测模块,每个模块支持8个通道的PTl00或KTY84温度传感器。在光洋GDS-09FH数控系统中,G—UNK总线上的每个温度检测模块都会对应一个PLC地址位,并被系统识别为一个独立的PLC模块;在PLC程序中每个温度检测模块对应24输入16输出。温度检测模块将采集到的模拟量信号转化为16bit布尔量,再由PLC程序进行处理,转化为可读出的温度信号。

1 PLC库文件中的功能块及重要变量设置

  GONA_temp_1库包含3个独立程序组织单元(POU),功能分别如表1。

  表1的PoU全部由光洋ST语言编写。

 GONA—temp—l库3个POU的功能

  其中BIT16_To_UINT和UINT_TO_16BIT在TEMP_8_CHANNEL中已经调用,因此可

  以直接在程序中应用;TEMP_8_CHANNEL功能块实现温度检测模块的基本功能,实际使用中。需要编程者对该功能块进行实例化。

  每个温度检测模块的8个温度传感器输入通道在TEMP_8_CHANNEL功能块中采用循环模式逐个采集,全部8个通道循环完毕需要约108。每个通道基本检测流程见图1。

图l每个通道基本检测流程
图1 每个通道基本检测流程

  TEMP_8_CHANNEL中的重要变量:

  RTART:BooL,温度转换启动,TRUE代表进行温度转换,FALSE代表停止转换。

  READY:BooL.温度模块指定通道A仍转换完毕,可以读取。

  ARR_CHANNEL_TO_CHECK: ARRAY[1..8]0FBooL.=8(TRUE),数组的8个元索分别代表温度检测模块的8个输入通道,使用的通道设为TRUE。不使用的通道设为FALSE;在TEMP_8_CHANNEL中,默认所有的数组元素为TRUE。

  ARR_TEMP_ALARM:ARRAY[1..8]oF REAL:=8(40),温度超标设定,单位为℃,每通道单独设定。每个数组元素依次对应1个通道。默认40℃。当对应通道的检测温度超过该通道的设定时。输出变量ARR-TEMP_FAULT(错误信息)中对应的相应元素会被设为100℃(温度超标)。

  ARR_TEMP_TRANSF: ARRAY[1..8]OF REAL:=8(0.1),通过PLC读入对应通道的16位数字与实际温度的转换系数。目前光洋温度检测模块的转换系数为0.1。该参数为每通道单独设定。

   ARR_TEMP_INIT:ARRAY[1..8]OF REAL:=8(_273),加转换,对应A/D数值为0时的每通道单独设定温度,目前光洋温度检测模块应设为_273 K。

   BITl-BITl6,为温度传感器的温度输出点,共计2字节16bit,代表目前制定通道的采集温度数值,在程序中需要将其赋值为实际地址。

  IN_CHANNEI_l_IN_CHANNEL_3,用于确认目前通道号是否与指定通道号一致。000对应1号通道。111对应8号通道。在程序中需要将地址写入。

   DELAY:TIME:=T#10S,每次8通道扫描循环延时,设置为10 s。

  CHANNEL_MAX:INT:=8,需要扫描的最高通道号,根据实际情况设置,可以与ARR_CHAN.NEI_TO_CHECK参数组合使用。输出变量:

  OUTl~OUT3。为对通道的选择输出,3个bit组合依次确定8个通道。在程序中需将具体地址写入。REFRESH:BooL,A/D转换使能。需写入实际地址。

  ARR_TEMPERATURE:ARRAY[1..8]OF REAL:=8(0),温度输出,数组中的每个元素一次对应温度传感器的1个输入通道,其中数值以摄氏度为单位。

  ARR_TEMP_FAULT:ARRAY [1...8]OF INT:=8(0),出错信息,数组中的每个元素一次对应温度传感器的1个输入通道。0代表正常,100代表温度超标,200代表操作超时,300代表短路,400代表断路,为排除干扰。每种情况都进行了连续3次检测.如温度超标第一次检测到时设为101.而后第二次扫描如果仍然温度超标,则改为102,第三次改为103。

  L00P_INrr:BOoL:=TRUE,第一次8个通道全部扫描完成,ARR』EMP_FAULT中所有数据均可用,该信号在蚰~RT输入信号为FALSE时,也为TRUE。

2
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。