系统由昆仑通态TPC7063E 触摸屏、西门子S7-300 模块, 以及用于两者之间数据转换的PCAdapter 等组成。TPC7063E 不仅具有与众多硬件交互功能,它可以方便地读写各种PLC、智能仪表、智能模块、变频器等工控设备的数据,而且还具有强大的网络通信功能,支持串口通信及以太网通信方式。西门子S7-300 模块用来完成数据采集、处理以及输入输出控制功能。PC Adapter 完成将MPI 通信信号转换为RS232 串口信号,从而完成MPI 数据通信功能。
1.2 触摸屏与PLC 之间的通信方式
触摸屏与S7 300PLC 之间采用MPI 通信方式。
MPI 是多点接口(MulTI Point Interface)的简称,是西门子公司开发的用于PLC 之间通讯的保密的协议,它的物理层是RS-485。MPI 通讯是当通信速率要求不高、通信数据量不大时,可以采用的一种简单经济的通讯方式。MPI 网络的通信速率为19.2 Kbps~12 Mbps,多可以连接32 个节点。MPI 网络有一个网号,在组建MPI 网络前,要为每一个节点分配一个MPI 地址和1 个高MPI 地址,使所有通过MPI连接的节点能够相互通信。PLC 通过此接口建立与触摸屏TP7063E 通信。STEP7 的用户界面提供了通信组态功能,使通信的组态比较简单。
MCGS 嵌入版组态软件支持TPC7063E 触摸屏。其内的提供的S7300_400MPI 构件用于MCGS软件通过MPI 适配器读写西门子S7-300/400 系列PLC 设备的各种寄存器。驱动类型为串口子设备,须挂接在“通用串口父设备”才能工作,通信协议为MPI, 通信方式为一主一从通令方式。驱动构件为主,PLC 设备为从。
1.3 系统设计与验证
为了验证系统运行的可靠性,本方设计了一个控制系统。它由3 部分组成,
①现场级设备。包括温度、压力、水位传感器以及水泵运行控制柜;
②PLC处理级设备。它们完成数据的下载、处理及通信功能,主要包括电源模块1、CPU 模块2、以太网模块3和模拟模块4;
③管理级设备。主要是采用昆仑通态的TPC7063E 触摸屏, 主要负责现场级设备数据的监测和控制。

虽然大多数设计原则和其他基于界面的设计是一样的,但是大触摸屏的尺寸以及尺寸的调整会让很多设计师无所适从。所以,当你在公共场合看到大触摸屏时,不如停下来在界面上操作一下,感受一下它的交互设计。看看哪些设计元素和交互对你有吸引力,以便在日后的大触摸屏设计中进行参考。

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或者一个状态值),所以不能从程序中得到任何有效信息。
CPU报告IO访问错误的优先级高于调用块,所以该块不会被执行。但是,如果您创建了一个需要诊断访问错误的块,我们建议参考补救措施2给出的信息。
如果在 IO 地址后面加上“P”,那么程序将不会访问过程映像区而是直接访问模块。那么当CPU去识别一个未组态的PROFINET 设备,因为错误的 IO 输入,将导致该块不会被执行。
S7-1500注意事项(所有CPU)
在这些CPU的V2.1固件版本中,上面描述的行为已经被修改。当在块的输入参数上发生访问错误时,将会使用替代值0以维持程序继续执行。块会使用替代值来完成执行过程。
对于固件版本V2.1以下的S7-1500 CPU和所有的S7-1200 CPU,我们建议以下两个补救措施:
对于FB块,复制IO 输入到一个静态变量,对于FC和OB块,复制到全局变量中,然后使用静态变量或全局变量对块进行参数化。图1显示了这样一个例子 。当发生IO访问错误时,附加的变量会起到让FC2继续执行的作用。

按照下面的措施来避免参数传递时IO访问错误的触发。在进行输入参数的传递时,使用Variant来代替基本数据类型(字节/字/双字)。在块中调用“VariantGet”指令。“VariantGet”指令读取变量的值,将源目标“SRC”的变量写入目标变量“DST”中。你可以用临时变量临时储存这个值。如果发生一个IO访问错误,该错误在块内部生成,功能块仍然可完整运行通过。你可以直接通过调用块中的替代值0或者CPU的诊断缓冲区评估错误。