第八章常用功能函数说明及应用.docx
- 文档编号:23291884
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:16
- 大小:245KB
第八章常用功能函数说明及应用.docx
《第八章常用功能函数说明及应用.docx》由会员分享,可在线阅读,更多相关《第八章常用功能函数说明及应用.docx(16页珍藏版)》请在冰豆网上搜索。
第八章常用功能函数说明及应用
第八章常用功能函数说明及应用
内容提要本章主要介绍了已公布功能函数说明及应用
函数号
函数名
功能说明
1
D区域赋值函数
将指定片区赋同一值
2
片区移动函数
将指定寄存器片的值移动到其它寄存器片中
3
排序函数函数
将D区域寄存器数据的内容按大小进行排序
4
求平均值函数
不改变原值,将指定范围的平均值存放到另一单元中
11
热电偶线性化函数
将热电偶信号,冷端补偿信号综合后转换成温度输出
25
ASCII_HEX函数
将指定寄存器的ASCII码转换为十六进制数HEX
26
HEX_ASCII函数
将指定寄存器的十六进制数HEX转换为ASCII码
27
BYTE_BYTE函数
将指定寄存器的字进行拆分和组合
28
CRC函数
将和校验区ASCII码的十六进制数相加后,取后两位字符
29
自由协议发送函数
将设置好的数据等信息进行发送。
30
自由协议接收函数
将设置好的数据等信息接收。
31
写FLASH函数
将指定数据寄存器区中数据写到PLC的FALSH中。
32
读FLASH函数
将PLC的FLASH数据区数据读到数据寄存器区中。
8.1常用功能函数
8.1.1寄存器区域赋值函数
功能:
将连续D寄存器赋值。
可以减少程序步,如在初始化PID参数、清除PID参数。
函数的基本格式:
函数号:
D8200=1
入口参数指针:
D8201
出口参数指针:
D8202
入口参数(源参数)内容:
赋值数据寄存器号。
出口参数(目的参数)内容:
起始寄存器号,赋值个数。
例程:
将D200~D219的20个寄存器赋值为K122。
入口一级指针D8201=K300(D300)、出口一级指针D8202=K320(D320)
入口二级指针D300=K260(D260=K122)、出口二级指针D320=K200(D200)
赋值个数D321=K20(M1ON时D200~D219的值为K122)
8.1.2片区移动函数
功能:
将甲区域寄存器数据移到乙区域寄存器,同时甲区域寄存器区数据保持不变。
最多250字。
为工程数据的处理、转移提供了方便。
函数形式:
函数号:
D8200=2
入口参数指针区:
D8201
出口参数指针区:
D8202
入口参数(源参数)内容:
起始单元,数量。
出口参数(目的参数)内容:
填充单元。
例程:
将D200~D219的20个寄存器值移到D400~D419,同时原寄存器数值不变。
入口一级指针D8201=K300(D300)、出口一级指针D8202=K320(D320)
入口二级指针D300=K200(D200)、出口二级指针D320=K400(D400)
赋值个数D301=K20。
(将D200~D219赋值为K111,M1ON时D400~D419的值为K111)
8.1.3排序函数
功能:
将D区域寄存器数据的内容按大小进行排序。
按代数值形式排序,数值范围:
-32768~+32767。
最多250字。
为处理、管理工程数据提供了方便。
函数号:
D8200=3
入口参数指针区:
D8201
出口参数指针区:
D8202
入口参数(源参数)内容:
起始单元,数量。
出口参数(目的参数)内容:
无。
例程:
将D200~D219的15个寄存器的内容按大小以代数值形式进行排序。
入口一级指针D8201=K300(D300)
入口二级指针D300=K200(D200)数量D301=K15
8.1.4求平均值函数
功能:
将区域寄存器的内容按代数值形式求平均值,结果送到目的单元中,原寄存器内容不变。
数值范围:
-32768~+32767。
函数号:
D8200=4
入口参数指针区:
D8201
出口参数指针区:
D8202
入口参数(源参数)内容:
起始单元,数量。
出口参数(目的参数)内容:
目的单元。
例程:
将D200-D214的15个寄存器的内容求平均值后送到D280中,原寄存器内容不变。
入口一级指针D8201=K300(D300)、出口一级指针D8202=K320(D320)
入口二级指针D300=K200(起始单元D200),D301=K15(数量15)。
出口二级指针D320=K280(目的单元D280)。
8.1.5热电偶线性化函数
功能:
将热电偶信号,冷端补偿信号综合后转换成温度输出。
函数号:
D8200=11
入口参数指针:
D8201
出口参数指针:
D8202
D8201指针长度6个字,分别存放指针P1,P2,P3,P4,P5,P6
D8202指针长度1个字,存放转换温度的寄存器地址。
P1
热电偶AD值指针
P2
热电偶零点(AD_mV)、量程(AD_mV)指针
P3
热电偶非线性表格指针(mV_T)
P4
环温补偿AD值指针
P5
环温补偿零点(AD_mV)、量程(AD_mV)指针
P6
环温补偿非线性表格指针(mV_T)
P1,P2,P3,P4,P5,P6是连续寄存器区。
如需切除环温补偿时,调用函数前执行SET M8204。
函数执行后自动复位M8204。
具体用法及介绍请见第七章
8.1.6写FLASH函数
功能:
将指定数据寄存器区中数据写到FALSH中。
此函数慎用,以防写坏PLC中的FLASH。
FLASH存放256字。
PLC中的固有特性参数(如与硬件通道相关的零点量程以及相关版本信息等)在出厂时必须写入512字节的FLASH中。
在调试完毕后,利用写FLASH函数将硬件测试参数从PLC寄存器区写入默认的FLASH片中。
函数号:
D8200=31
入口参数指针(源指针)D8201:
指向寄存器区的首地址。
出口参数指针(目的指针)D8202:
指向FLASH。
(不填写)。
建议用户不要使用该函数,因为:
FLASH中已有PLC出厂的硬件参数,如被改写PLC模拟量将不能正确使用。
写FLASH操作,必须有次数限制,用户使用不当会导致PLC写区损坏。
例程:
如D8201=K5600,表示将D5600开始的256个数据寄存器内容写到系统默认的FLASH片中。
8.1.7读FLASH函数
功能:
读取PLC中的固有特性参数。
(如与硬件通道相关的零点量程以及相关版本信息等在出厂时已存入512字节的FLASH中。
)在编程时使用该类参数时,需要从FLASH中读出。
入口参数指针(源指针)指向FLASH,FLASH是唯一系统指定区,因此D8201不写内容。
出口参数指针(目的指针)指向存储FLASH信息的数据寄存器区的首地址。
不同产品FLASH中存储的内容可能不同,请参看具体产品的FLASH内容说明。
函数号:
D8200=32
入口参数指针:
D8201(不填写)
出口参数指针:
D8202
例程:
如D8202=K5600,表示将FLASH内容读出并存放在D5600开始的(512/2)=256个数据寄存器中。
具体应用请详见PLC出厂所带程序。
8.2自由协议辅助函数
由于各个厂家的协议都不相同,为了使通信兼容就需要用自由协议辅助函数进行转换数据。
本节只是介绍自由协议辅助函数单个的用法,其综合应用请参见第十一章自由协议及其应用。
8.2.1ASCII_HEX函数
功能:
将指定寄存器的ASCII码转换为十六进制数HEX。
函数号:
D8200=25
IN入口参数指针:
D8201D8201=K0~K7999(即D0~D7999)。
有效字节数:
D8202即数据个数。
起始字节:
M8201起始高字节:
RSTM8201、起始低字节:
SETM8201
字/字节有效:
M8202字有效:
RSTM8202、字节有效:
SETM8202
OUT出口参数指针:
D8203
起始字节:
M8203起始高字节:
RSTM8203、起始低字节:
SETM8203
字/字节有效:
M8204字有效:
RSTM8204、字节有效:
SETM8204
例程:
将D6000~D6005的6个寄存器区ASCII码转换为十六进制数,结果存于D7111、D7112、D7113中(本例结果分别为AB、C9、87)。
要使起始字节(起始高字节、起始低字节)或字/字节有效,只需要对M8201、M8202、M8203、M8204进行设置即可。
8.2.2HEX_ASCII函数
功能:
将指定寄存器的十六进制数HEX转换为ASCII码。
函数号:
D8200=26
IN入口参数指针:
D8201D8201=K0~K7999(即D0~D7999)。
有效字节数:
D8202即数据个数。
起始字节:
M8201起始高字节:
RSTM8201、起始低字节:
SETM8201
字/字节有效:
M8202字有效:
RSTM8202、字节有效:
SETM8202
OUT出口参数指针:
D8203
起始字节:
M8203起始高字节:
RSTM8203、起始低字节:
SETM8203
字/字节有效:
M8204字有效:
RSTM8204、字节有效:
SETM8204
例程:
将D6000~D6005的6个寄存器区十六进制数转换为ASCII码,结果存于D7111~D7116中(本例结果分别为0041、0042、0043、0039、0038、0037)。
要使起始字节(起始高字节、起始低字节)或字/字节有效,只需要对M8201、M8202、M8203、M8204进行设置即可。
8.2.3BYTE_BYTE函数
功能:
将指定寄存器的字进行拆分和组合,即字/字节的变换。
函数号:
D8200=27
IN入口参数指针:
D8201D8201=K0~K7999(即D0~D7999)。
有效字节数:
D8202即数据个数。
起始字节:
M8201起始高字节:
RSTM8201、起始低字节:
SETM8201
字/字节有效:
M8202字有效:
RSTM8202、字节有效:
SETM8202
OUT出口参数指针:
D8203
起始字节:
M8203起始高字节:
RSTM8203、起始低字节:
SETM8203
字/字节有效:
M8204字有效:
RSTM8204、字节有效:
SETM8204
例程:
字的组合。
将D6000-D6005六字拼成3个字,结果存放于存于D7111、D7112、D7113三个字中(本例结果分别为1A2B、3C49、5867)。
要使起始字节(起始高字节、起始低字节)或字/字节有效,只需要对M8201、M8202、M8203、M8204进行设置即可。
8.2.4校验和CRC函数
功能:
将和校验区ASCII码字符的十六进制数相加后,取后两位字符(00-FF)。
函数号:
D8200=28
IN入口参数指针:
D8201D8201=K0~K7999(即D0~D7999)。
有效字节数:
D8202即数据个数。
起始字节:
M8201起始高字节:
RSTM8201、起始低字节:
SETM8201
字/字节有效:
M8202字有效:
RSTM8202、字节有效:
SETM8202
OUT出口参数指针:
D8203
起始字节:
M8203起始高字节:
RSTM8203、起始低字节:
SETM8203
字/字节有效:
M8204字有效:
RSTM8204、字节有效:
SETM8204
例程:
将D6000~D6004的5个寄存器区ASCII码字符的十六进制数相加后,取后两位字符结果存于D7022中(本例结果为H44)。
要使起始字节(起始高字节、起始低字节)或字/字节有效,只需要对M8201、M8202、M8203、M8204进行设置就可以了。
8.3自由协议收发函数
通过对通信格式字D8120的设置来完成通信。
具体应用及介绍请参见第十一章。
8.3.1相关标志位及寄存器
特殊数据寄存器
特殊数据寄存器
描述
D8120
通信格式
D8121
待发送字节数
D8122
发送剩余字节数
D8123
待接收字节数
D8124
已接收字节数
D8125
接收起始符
D8126
接收终止符
D8127
发送接收超时
D8128
发送起始单元
D8129
接收起始单元
D8130
超时剩余时间
特殊辅助继电器
特殊辅助继电器
描述
M8120
奇偶校验错标志
M8121
发送请求标志
M8122
发送成功标志
M8123
接收请求标志
M8124
接收成功标志
M8125
接收起始符标志
M8126
接收终止符标志
M8127
发送接收超时标志
8.3.2自由协议发送函数UART1_SEND
功能:
将设置好的数据等信息进行发送。
函数号:
D8200=29函数调用:
M8200
8.3.3自由协议接收函数UART1_REV
功能:
将设置好的数据等信息接收。
函数号:
D8200=30函数调用:
M8200
本章例程见光盘文件“子函数”
自由协议发送、接收函数详细说明参照第十一章。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 常用 功能 函数 说明 应用