西门子TP1900触摸屏19寸
发布时间:2018/5/14 9:50:00西门子TP1900触摸屏19寸
6AV2124-0UC02-0AX1SIMATIC HMI TP1900 精智, 精智面板, 触摸式操作, 19” 宽屏 TFT 显示屏, 一千六百万色, PROFINET 接口, MPI/PROFIBUS-DP 接口, 24MByte 项目组态存储器, WEC 2013, 可项目组态的版本 WinCC Comfort V14 SP1 带 HSP在固件版本低于V2.1的 S7-1200/S7-1500 中,如果使用了IO 地址(例如,"EW4:P")对块进行参数化并且出现了IO访问错误,FB/FC块将不会被执行。 其结果是,不会运行被调用块中程序化的错误评估(基于替代值0或者一个状态值),所以不能从程序中得到任何有效信息。
避免在传递块参数时直接进行IO访问,因为组态的IO模块可能会出错。
在固件版本低于V2.1的 S7-1200/S7-1500 中,如果使用了IO 地址(例如,"EW4:P")对块进行参数化并且出现了IO访问错误,FB/FC块将不会被执行。
其结果是,不会运行被调用块中程序化的错误评估(基于替代值0或者一个状态值),所以不能从程序中得到任何有效信息。
CPUIO访问错误的优先级高于调用块,所以该块不会被执行。但是,如果您创建了一个需要诊断访问错误的块,我们建议参考补救措施2给出的信息。
如果在 IO 地址后面加上“P”,那么程序将不会访问过程映像区而是直接访问模块。那么当CPU去识别一个未组态的PROFINET 设备,因为错误的 IO 输入,将导致该块不会被执行。
S7-1500注意事项(所有CPU)
在这些CPU的V2.1固件版本中,上面描述的行为已经被修改。当在块的输入参数上发生访问错误时,将会使用替代值0以维持程序继续执行。块会使用替代值来完成执行过程。
对于固件版本V2.1以下的S7-1500 CPU和所有的S7-1200 CPU,我们建议以下两个补救措施:
补救措施1
对于FB块,复制IO 输入到一个静态变量,对于FC和OB块,复制到全局变量中,然后使用静态变量或全局变量对块进行参数化。图1显示了这样一个例子 。当发生IO访问错误时,附加的变量会起到让FC2继续执行的作用。
图 01
补救措施 2
按照下面的措施来避免参数传递时IO访问错误的触发。在进行输入参数的传递时,使用Variant来代替基本数据类型(字节/字/双字)。在块中调用“VariantGet”指令。“VariantGet”指令读取变量的值,将源目标“SRC”的变量写入目标变量“DST”中。你可以用临时变量临时储存这个值。如果发生一个IO访问错误,该错误在块内部生成,功能块仍然可完整运行通过。你可以直接通过调用块中的替代值0或者CPU的诊断缓冲区评估错误。
图 02
创建环境
该FAQ中的截图由 STEP 7 (TIA Portal)V14创建。
根据所使用的CPU,系统功能模块"WRREC"SFB53/"WR_REC"SFC58和"RDREC"(SFB52)/"RD_REC"(SFC59)激活任务的数量是有限制的。
"RDREC"(SFB52)/"RD_REC"(SFC59)被用作读取中央机架或远程插槽中模块的数据记录。
"WDREC"(SFB53)/"WR_REC"(SFC58)被用作写入中央机架或远程插槽中模块的数据记录。
"RDREC"(SFB52)/"RD_REC"(SFC59)和"WDREC"(SFB53)/"WR_REC"(SFC58)是异步工作的。异步指令的执行会跨越多个调用周期。CPU会平行于循环的用户程序执行异步指令。
根据所使用的CPU,系统功能模块"WRREC"/"WR_REC"和"RDREC"/"RD_REC"激活任务的数量是有限制的。
下表提供了关于您CPU能同时支持系统功能模块"WRREC"/"WR_REC"和"RDREC"/"RD_REC"
系统功能/ 系统块 | SFB 52 "RDREC"/ SFB 53 "WRREC" | SFC 59 "RD_REC"/ SFC 58 "WR_REC" |
解释 | 从/向中央机架或远程插槽中的模块(PROFIBUS DP或PROFINET IO)读写数据记录 | 从/向IO读写数据记录 |
IM154 (ET 200pro) IM151 (ET 200S) IM147 (ET 200X) | 同时 4 个 SFC 58/59 SFB 52/53 任务 | |
CPU 312, CPU 313, CPU 314 CPU 315, CPU 316 | 同时 4 个 SFC 58/59 SFB 52/53 任务 | |
CPU 317, CPU 319 CPU 318-2 | 同时 8 个 SFC 58/59 SFB 52/53 任务 | |
CPU 41x1) | 每个 PROFIBUS DP 网段或 PROFINET IO 系统中 8 个任务 | |
CPU 121x | 同时 4 个 SFB 52/53 任务 | 不支持 |
CPU 151x V1.8及以下 | 同时10个SFB 52任务,10个SFB53 任务 | 同时10个SFC 58任务,10个SFC59 任务 |
CPU 151x V2.0及以上 | 同时20个SFB 52任务,20个SFB53 任务 | 同时10个SFC 58任务,10个SFC59 任务 |
1)外部PROFIBUS DP 网段或 PROFINET IO 系统上每个 SFC/SFB 同时任务数量一定不能超过 32 。 外部PROFIBUS DP 网段或 PROFINET IO 系统通过CP/CM的接口连接。
举例:
CPU 414-2DP 中,每个 SFC/SFB 最多可同时执行 48 个任务(CPU 集成的两个接口上,PROFIBUS DP 网段每个可以同时执行 8 个任务, 还有 32 个在外部PROFIBUS DP 网段和 PROFINET IO 系统上).
规则:
以下适用于S7-400CPU:
如果在中央或扩展机架上读写数据记录,CPU同步执行任务。这种情况下,任务顺序执行,对于同时激活的任务没有数量限制。
如果在 PROFIBUS 网络里运行多个通信任务,请确保不要超过列表里所指明的可以同时激活的任务的数量。因为一个 SFC/SFB 会执行若干个 CPU 的周期。
列表中对系统功能模块 SFB53/SFC58 和 SFB52/SFC59 激活任务的限制同样可用于调用系统功能块和内部模块。包括 FM_CS, PID_FM 和 FMCS_PID模块。
例如:
当使用 FM 355 (4 个通道被参数化)通过调用 FMCS_PID 进行通信时,4 个读任务被占用。
注意:
多个实例同时运行的时间可能比单独运行读/写任务更长。
说明
角度以浮点数形式存储于 ACCU 1 中,结果再存入 ACCU 1 中。角度会以度 (0 to 360 度)为单位,与弧度成正比;180 度对应 π (3.141593...)。
弧度 = 角度 * π / 180
角度 = 弧度 * 180 / π
在下面的例子(图1)中, “Angle” 功能将 45 度转换为弧度,通过 "In_Radian" 参数将 0.7853982 弧度转化回 45度。
图. 1
STEP 7 (TIA Portal) 的库中包含 “Angle” 功能 ,用于角度与弧度的互相转换。 该库也包含两个全局数据块 “Control ”和 “Store” ,用于参数化功能的形参。
形参 | 数据类型 |
---|---|
角度转化为弧度 | |
输入: "In_Angle" | Real |
输出: "Out_Radian" | Real |
弧度转化为角度 | |
输入: "In_Radian" | Real |
输出: "Out_Angle" | Real |
说明
除了需要STEP 7 >= V13 SP1 (TIA Portal)的软件,还需要S7-1200 CPU固件版本>= V4 (文章编号: 6ES721x-1xx40-0XB0)。
Modbus RTU可以通过以下模块通讯。
CB 1241 RS485 (订货号: 6ES7241-1CH30-1XB0) 结合S7-1200 CPU固件升级到>= V4.1.1.
CM 1241 RS422/485 (订货号: 6ES7241-1CH32-0XB0) 结合通讯模块固件升级到>= V2.1
CM 1241 RS232 (订货号:6ES7241-1AH32-0XB0) 结合通讯模块固件升级到>= V2.1
除了"Modbus_Master"指令,还需要"Modbus_Comm_Load"指令才能建立通讯。
两个程序块都在STEP 7 (TIA Portal)中,"Instructions>Communication>Communication processor>MODBUS ( RTU )>= Version 3.0 "。
图. 01
Modbus_Comm_Load
Modbus_Comm_Load程序块是用来选择通讯模块的,设置通讯参数并用主站(或从站)的参数将连接参数化。
图. 02
在次调用Modbus_Master (or Modbus_Slave)之前,非循环块 Modbus_Comm_Load 必须运行并且运行完成(DONE为1)。 Modbus_Comm_Load 可以在程序的个循环中(通过在硬件组态中启用系统存储器位M1.0)调用。在硬件组态中插入通讯模块之后,就可以在PORT参数传输通讯模块的符号名。
通讯参数BAUD (波特率)和PARITY (奇偶校验) 必须要与从站地址相匹配。在参数MB_DB传输Modbus_Master (or Modbus_Slave)背景数据的数据结构MB_DB,这样就可以定义通讯模块(通过PORT参数识别) 为MODBUS主站(或从站)。除此之外,必须改变 Modbus_Comm_Load的实例数据中的静态参数以便进行双工操作模式,通过初始值设定(0 = full duplex (RS232), 1 = full duplex (RS422)四线制模式,4 = half duplex (RS485) 两线制模式)。
图. 03
Modbus_Master
使用Modbus_Master功能块来定义通讯模块,并将Modbus_Comm_Load组态块选择为MODBUS主站。
图. 04
Modbus_Master块用来选择需要与之通讯相匹配的MODBUS从站,指定功能代码并定义本地数据的存储区。下面表格介绍了参数。
Parameter | Description |
---|---|
REQ | 使能通讯。 |
MB_ADDR | MODBUS-RTU站地址。 |
MODE | 请求的类型: "104" = 读取从站的输入字(寄存器地址到65535) |
DATA_ADDR | 定义MODBUS起始地址( =偏移量 + 从站寄存器地址):MODE = 104:Offest =0 |
DATA_LEN | 定义MODBUS数据长度(位或者字节形式):MODE = 104: Words |
DATA_PTR | 定义主站本地数据接收区和发送区。DATA_PTR参数必须引用一个数据块,这个数据块的“Optimized block access”属性必须已被禁用。 |
表 01
"MODBUS (RTU)"指令库也包含"MODBUS"指令库的功能。
但是,如果使用Modbus_Slave块,MB_HOLD_REG参数只支持“Word”数据类型的一维数组。
西门子TP1900触摸屏19寸