扫一扫,微信关注我们
品牌 | Siemens/德国西门子 | 应用领域 | 化工,电子,电气 |
---|
西门子PLC模块6ES7516-3TN00-0AB0详细说明
1.概述 1.1S7-1200的PROFINET通信口 S7-1200CPU本体上集成了一个PROFINET通信口,支持以太网和基于TCP/IP的通信标准。使用这个通信口可以实现S7-1200CPU与编程设备的通信,与HMI触摸屏的通信,以及与其它CPU之间的通信。这个PROFINET物理接口是支持10/100Mb/s的RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。 1.2S7-1200支持的协议和最大的连接资源 S7-1200CPU的PROFINET通信口支持以下通信协议及服务 ?TCP ?ISOonTCP(RCF1006) ?S7通信(服务器端) 通信口所支持的最大通信连接数 S7-1200CPUPROFINET通信口所支持的最大通信连接数如下: ?3个连接用于HMI(触摸屏)与CPU的通信 ?1个连接用于编程设备(PG)与CPU的通信 ?8个连接用于OpenIE(TCP,ISOonTCP)的编程通信,使用T-block指令来实现 ?3个连接用于S7通信的服务器端连接,可以实现与S7-200,S7-300以及S7-400的以太网S7通信 S7-1200CPU可以同时支持以上15个通信连接,这些连接数是固定不变的,不能自定义。 TCP(TransportConnectionProtocol) TCP是由RFC793描述的标准协议,可以在通信对象间建立稳定、安全的服务连接。如果数据用TCP协议来传输,传输的形式是数据流,没有传输长度及信息帧的起始、结束信息。在以数据流的方式传输时接收方不知道一条信息的结束和下一条信息的开始。因此,发送方必须确定信息的结构让接收方能够识别。在多数情况下TCP应用了IP(Internetprotocol),也就是“TCP/IP协议",它位于ISO-OSI参考模型的第四层。 协议的特点: ?与硬件绑定的高效通信协议 ?适合传输中等到大量的数据(<=8192bytes) ?为大多数设备应用提供 –错误恢复 –流控制 –可靠性 ?一个基于连接的协议 ?可以灵活的与支持TCP协议的第三方设备通信 ?具有路由兼容性 ?只可使用静态数据长度 ?有确认机制 ?使用端口号进行应用寻址 ?大多数应用协议,如TELNET、FTP都使用TCP ?使用SEND/RECEIVE编程接口进行数据管理需要编程来实现 1.3硬件需求和软件需求 硬件: ①S7-1200CPU ②S7-300CPU+CP343-1(支持S7Client) ③PC(带以太网卡) ④TP以太网电缆 软件: ①STEP7BasicV10.5 ②STEP7V5.4 2.ISOonTCP通信 S7-1200CPU与S7-300/400之间通过ISOonTCP通信,需要在双方都建立连接,连接对象选择“Unspecified"。 所完成的通信任务为: ①S7-1200将DB3里的100个字节发送到S7-300的DB2中 ②S7-300将输入数据IB0发送给S7-1200的输出数据区QB0。 2.1S7-1200CPU的组态编程 组态编程过程与S7-1200CPU之间的通信基本相似(见6.3),这里简单描述一下步骤: ①使用STEP7BasicV10.5软件新建一个项目 在STEP7Basic的“PortalView"中选择“Createnewproject"创建一个新项目 ②添加新设备 然后进入“Projectview",在“Projecttree"下双击“Addnewdevice",在对话框中选择所使用的S7-1200CPU添加到机架上,命名为PLC_1。 ③为PROFINET通信口分配以太网地址 在“DeviceView"中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“Ethernetaddresses"下分配IP地址为192.168.0.1,子网掩码为255.255.255.0。 ④在S7-1200CPU中调用“TSEND_C"通信指令并配置连接参数和块参数 在主程序中调用发送通信指令,进入“Projecttree">“PLC_1">“Programblock
西门子PLC模块6ES7516-3TN00-0AB0详细说明
用于 S7-300/C7/ET 200, 3,3V Nflash,8 MByte
为保证系统稳定运行,系统CPU应避免长时间满负荷运作,应用程序CPU占用不宜过高。客户需要在调试阶段监测应用程序各个进程线程占用情况,对占用过高的进程线程进行优化。因CE自身不带进程线程系统占用查看工具,我们增加了AppHelper助手工具方便客户使用。
在之前的技术文章《CE应用程序助手简介》中简单介绍过英创AppHelper应用程序助手,本文将详细介绍AppHelper的使用方法。
AppHelper查看方法
客户在自制底板上只要引出了网络,USBOTG,DEBUG调试串口,或板子其它串口任意之一便可以查看AppHelper信息。
网络方式
通过telnet登录上板子,运行命令sysinfo,即可获得AppHelper打印的进程线程信息。
telnet模式打印示例图
USBOTG方式
使用AHC工具(使用方法见本文下一节)配置AppHelper输出为COM1。连接上板子USBOTG口,板子将以虚拟串口形式被PC识别。使用任意串口工具向该串口输出任意三个字符(任意波特率),即可获得AppHelper打印的进程线程信息。
USBOTG,DEBUG及其它串口打印示例图
DEBUG调试串口方式
使用AHC工具(使用方法见本文下一节)配置AppHelper输出为DEBUG。连接板子的DEBUG串口,PC端使用任意串口工具,设置波特率115200,向DEBUG口输出任意三个字符,即可获得AppHelper打印的进程线程信息。
串口方式
将底板上引出,且客户应用程序未使用的串口连接上PC。使用AHC工具(使用方法见本文下一节)配置好串口号及波特率。PC端使用任意串口工具,用设定的波特率向该串口输出任意三个字符,即可获得AppHelper打印的进程线程信息。
AHC工具使用介绍
AHC工具即AppHelper Config工具,用于设置AppHelper打印信息的输出位置。有两种办法进行设置。
控制面板方式
在板子控制面板中运行AHC工具。
选择好输出信息的串口及波特率(其中COM1为USBOTG),点击OK键保存配置,板子重启后配置生效。
telnet方式
通过telnet登录上板子,执行命令AHC port [baud]
参数port:串口号,值为0-6,0表示DEBUG串口,1表示USBOTG转虚拟串口,2-6分别表示板子的COM2-COM6。
参数baud:波特率,可选参数,如果不填表示保持原波特率,支持1200,2400,4800,9600,19200,38400,57600,115200。当port为0时,baud固定为115200,当port为1时,baud值不生效。
命令执行后,DEBUG口可以看到打印提示信息。
打印格式说明
打印结果为数行,其中每行的格式均为:类型 ID号 占用情况 名称
以下图一次打印的部分截图为例:
类型
PID表示为process进程。TID表示为上面进程下的thread线程。
ID号
即进程ID值或线程ID值。
占用情况
显示格式为 K n% U m% total%
n值为该进程或线程在Kernel系统层的占用
m值为该进程或线程在User用户层的占用
total值为总占用,它应当等于n+m的和
进程下各个线程total占用和应当等于进程的total占用
名称
进程名即EXE的名称,线程默认没有名称,下一节会介绍如何给线程命名,从而能在AppHelper中显示出来。
进程及线程监视说明
AppHelper会打印系统下所有的进程的CPU占用信息。
只有在\NandFlash目录下的exe生成的进程会额外打印出它下面所有线程的CPU占用信息。
默认情况下,生成的线程只有ID号,没有名称,如果线程较多会不便于查看。我们可以通过简单代码给线程命名。
以光盘里的串口例程SPT_HEX为例:
添加一个结构体的定义
typedef struct _THREAD_INDEX