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

来源:万方数据 作者:刘旭 贾歆莹 化春雷 刘春时

点击:1285

A+ A-

所属频道:新闻中心

关键词:数控系统 温度检测 PLC

      由光洋开发的温度检测模块实际可以理解为支持光洋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语言编写。

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

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

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

    图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 温度检测模块PLC主程序设计

      在编写PLC程序前.需要在变量声明中对各个变量进行实例化。由于本例中的加工中心只有7个伺服轴,在ARR—CHANNEL_-TO-CHECK中将最后一个通道设为FALSE,ARR TEMP-ALARM中各伺服的温度超标均设定为75℃。A/D转换系数各通道均设为0.1,温度检测模块上的I/O点也需要按照实际地址赋值给PLC。

      程序的设计流程如图2。

    图2 程序的设计流程

      本程序首次调用了TEMP_8_CHANNEL功能块对温度检测模块的7个可用通道进行循环扫描.纠正与指定通道号不一致的通道。并发出报错信息,最后将检测到的结果传递给CNC。

    3 结束语

      目前。应用sT语言对PLC进行编程无疑是最简单而且有效的方式之一。利用ST语言编写程序不仅速度快。而且程序便于阅读。本文详细介绍了温度检测模块的工作原理、PLC中相关的程序块的功能以及重要的输入输出变量的设置。并通过PLC程序讲解了如何利用ST语言对其进行编程以实现其各个功能。借助于温度检测模块。用户可以通过指定通道来选择查看各伺服电机的工作温度.实现对伺服电机工作温度的监控。

    (审核编辑: 沧海一土)