西门子SM531模拟量模块 6ES7531-7KF00-0AB0SIMATIC S7-1500, 模拟输入模块 AI 8xU/I/RTD/TC ST, 16 位分辨率 , 精度 0.3%, 8 通道,分成组,每组 8, 4 通道在用温度传感器 RTD 测量情况下, 共模电压 10V; 诊断;过程报警 包括馈电元素, 屏蔽支架和屏蔽端子 应用 模拟量输入模块可以记录压力或温度等过程信号,并以数字形式(16 位形式)将它们传送给控制器。这些模块适用于测量电流(2 线制和 4 线制传感器)、电压和电阻,并适合连接电阻温度计和热电偶(测量类型取决于模块)。 提供有以下模拟量输入模块: AI 4xU/I/RTD/TC ST 带有 4 个通道的模拟量输入模块;分辨率 16 位;准确度 +/-0.3%;一个电位组;共模电压 10 V;可设置诊断参数;硬件中断(两个上限和下限);在执行期间进行校准。 模块宽度 25 mm AI 8xU/I/RTD/TC ST 带有 8 个通道的模拟量输入模块;分辨率 16 位;准确度 +/-0.3%;一个电位组;共模电压 10 V;可设置诊断参数;硬件中断(两个上限和下限);在执行期间进行校准。 模块宽度 35 mm AI 8xU/I HS 模拟量输入模块,带 8 个通道;分辨率 16 位;准确度 +/-0.3%; 一个电压组;共模电压 10 V;可设置诊断参数;硬件中断(两个上限和下限);8 通道高速模块,125 μs;等时同步模式;在执行期间进行校准 模块宽度 35 mm CPU自带的以太网接口可以使用OPEN IE的方式实现如下协议,分别介绍如下: ? TCP ? UDP ? ISO-on-TCP 注意:以下内容任何用户可以免费使用,复制和传递他人,程序的作者及拥有者不负责软件的功能性和兼容性,使用者须自己承担责任,由于内容免费,所以不保证错误的更正和热线支持! 1. TCP通信 1.1通信程序块的准备 如下的通信块可以用来建立TCP通信,您需要把这些程序块拷贝到您的项目中: 1) FB65 "TCON" 用于建立连接,连接时需要UDT65来提供参数 2) FB66 "TDISCON" 用于断开连接 3) FB63 "TSEND" 用于发送数据到S7站点、S5站点、PC站或者第三方设备 4) FB64 "TRCV" 用于从S7站点、S5站点、PC站或者第三方设备接收数据 5) UDT65 "TCON_PAR"存放用户通信参数 6) FC97 "SET_TCP_ENDPOINTx" 用于修改UDT65类型变量内通信对象参数 FB63,64,65,66这四个功能块可以在Standard Library -> Communication Blocks里得到: 图 01: FB63,64,65,66 FC97与UDT65需要从如下项目中打开获得: ( 42 KB ) 图 02: FC97与UDT65 首先建立一个S7-300或者S7-400站,拷贝如上程序块到项目中。 1.2通信程序编写 1.2.1 生成数据块 在程序中生成一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65 图 03: 生成UDT65类型变量 1.2.2在OB1中编程 首先调用FC97 "SET_TCP_ENDPOINTx" 图 04: 调用FC97 FC97参数说明如下: ? ID: 连接ID ? DEV_ID DEV_ID = B#16#1 用于本PLC型号(注意不是通信对方)为 IM151-8 PN/DP CPU DEV_ID = B#16#2 用于本PLC型号(注意不是通信对方)为 CPU31x-2PN/DP或IM154-8 CPU DEV_ID = B#16#3 用于本PLC型号(注意不是通信对方)为 CPU319-3PN/DP DEV_ID = B#16#5用于本PLC型号(注意不是通信对方)为 CPU41x-3PN/DP ? ACTIVE: 主动或是被动建立连接,通信双方必须一个主动,一个被动 ? LOC_PORT: CPU本地的TCP端口 ? REM_PORT: 通信伙伴的TCP远程端口 ? IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址 ? V23:本机是否是CPU31x-2PN/DP FIRMWARE 版本为2.3或以下版本 ? CON_DB:用UDT65生成的变量 图05: 调用FB65 "T_CON" 调用FB65 ,通过提供给FB65的输入参数"REQ"一个上升沿来建立连接。 “ID”为连接ID,“CONNECT”参数填写用UDT65生成的变量, 连接建立后会一直保持,直到调用FB66 "TDISCON"断开连接,CPU停止或者断电。 1.2.3 调用发送和接收程序 图06: 调用 FB63,64发送接收数据 FB63 "TSEND" 发送请求依靠输入参数"REQ"的上升沿来实现,如果“BUSY”位为true时不要触发"REQ"。输出参数 "DONE", "ERROR" 和 "STATUS" 用于评估工作的情况。 FB64 "TRECV" 用于接收数据,EN_R始终为true, “ID “填写连接ID,”DATA”填写接收数据区,输出参数"NDR" 用于表示新的数据已经收到,输出参数"LEN" 表示接收的数据长度。