热门搜索:
西门子OP触摸屏
结论,是需要大量的测试和论证后得出的,因为在整个过程中,并没有相关产品开发的资料,所有得到的与内部相关的设计和概念都是我自己推测和总结出来的,我想与真正的研发的概念和术语必然存在差别,但这并不影响这些得到的概念的理解和应用,并不影响我对这些未知世界的探知和求索,砥砺前行,是对我探索PLC高级通信知识体系的真实写照!
现在我拿出刚刚所得出的关于资源的结论,来去证明两个问题。
1.关于多路复用。CP343-1在建立多个双边的S7通信的时候,默认的CP卡是使用多路复用功能的。即多个S7连接占用CP343-1的多个S7连接,而只占用一个CPU的S7连接,实际上CPU的这一个S7资源要和这CP343-1中的16个S7连接资源进行对接,就好比Profibus通信,CPU的S7连接资源就是主站,CP343-1的16个S7连接资源是从站,依次轮询,轮询是需要时间的,通过Wireshark可以看见这段随机的通信滞后时间。而400CP卡却没有这个多路复用的功能,一方面体现400PLC的性能强大,另一方面也表明400PLC的无能为力。300CP卡之所以大张旗鼓的做S7通信的多路复用功能,恰恰是由于数据的封装和解封装都在CP卡中完成。数据全部在CP卡中处理完成,CPU只需要轮询获取数据即可,这就是多路复用的原理,此时CPU只占用一个S7连接资源,说白了就是通信任务公用一个通信资源,CP卡占用更多的连接资源;然而这种方式也有缺点,就是CPU需要遍历所有的CP卡的终点的数据缓冲区去获取与其地址信息一致的数据,也就是说找到partner中的数据,这是要时间的,该时间的长短取决于CPU的循环周期T,长获取数据的时间应该是Tx16。所以优势和劣势一目了然。
2.手册中有一段关于使用CP卡进行TCP/IP通信的一段话,是关于AG_SSEND/AG_SRECV功能块的。如下:
这段手册中并没有详细的描述,从字面上看会让你觉得一头雾水,什么叫快速通信对局域网通信没有任何影响?而这个功能块又是用来进行加速数据传输的。首先,快速以太网100Mbp是不变的,无论使用什么样的通信,网线上的传输速度不变,其次,使用这个功能块进行TCP的通信,肯定无法改变协议本身,也就是TCP协议的通信处理并未发生改变,那么所谓加速,是就剩下一条,就是PLC内部的优化,优化了CPU和CP卡之间的传输速度。另外手册中提到使用AG_SSEND/AG_SRECV此时CPU和CP卡都会各占用一个S7资源。那么就运用我们所指的结论来来还原一下真实的原因吧。
使用TCP通信,例如AG_SEND,此时CP卡会占用TCP的连接资源,CPU不会占用,那么CPU和CP之间的数据交换方式未知,底层开发,我们不清楚,但是数据交换是必然的,速度未知;使用S7通信,知道是CPU和CP卡之间的连接资源是一一对应的,就是CPU和CP卡之间的通信资源的数据缓冲区作了对应关系,这就奠定了CPU和CP卡之间数据传输优化速度的基础,这也就意味着CPU和CP卡之间的数据交换比没有对应的(如AG_SEND)更快。我们再延展的去看这个问题,TCP通信那么为什么要占用S7资源?我们要延展概念,说白了资源和协议无关,这句话很重要,不能混淆。如果不能理解,我们知道CPU的路由资源的,就是S7数据从以太网路由到PB,或者相反,那么资源到底是什么?就是前面所说的数据缓冲区域,那么就意味着资源可以共享,你可以用,我也可以用,记住那句话就是“资源和协议无关”,当注入了什么协议,那么资源就变成什么资源,也就是S7用了,就是S7资源,S7路由用了,就是S7路由资源。这也是到了S7-1500,所有的资源都放在了一起的原因。
后,还要澄清一点,就是资源的概念和协议无关,这样理解只是一个方面,还有另一个方面就是资源和协议要**结合,谁用了就是谁的资源了。那么既然300CP卡承担了S7协议的主体,并不是说CPU没有S7协议的参与,协议的终指示信号Done和NDR都是*7层的S7协议来参与的。换句话说S7作为7层协议,覆盖了CPU和CP卡的工作,这也是为什么CPU和CP卡占用S7协议的原因。
这样就解释了手册中没有解释过的问题,看到了我想要看到的结果。作为技术支持,我总是在设想,用户会问到我这样的问题,我已经准备好了,虽然从来没有人问过,但却鞭策我不断探索这些问题,虽然还是没有人问起,它却依然在那里…….
S7-1200 存储卡使用
1 S7-1200 存储卡介绍
S7-1200 CPU 使用的存储卡为 SD 卡,存储卡中可以存储用户项目文件,有如下四种功能:
作为 CPU 的装载存储区,用户项目文件可以仅存储在卡中,CPU 中没有项目文件,离开存储卡无法运行。
在有编程器的情况下,作为向多个S7-1200PLC 传送项目文件的介质。
忘记密码时,清除 CPU 内部的项目文件和密码。
24M卡可以用于更新S7-1200CPU 的固件版本。
图. 1: S7-1200 存储卡
怎样插入存储卡:
将CPU上挡板向下掀开,可以看到右上角有一 MC 卡槽,将存储卡缺口向上插入,如下图所示:
图. 2: 插入存储卡
注意
对于 S7-1200 CPU ,存储卡不是必须的。西门子OP触摸屏
将存储卡插到一个运行状态的 CPU 上,会造成 CPU 停机。
S7-1200 CPU 仅支持由西门子制造商预先格式化过的存储卡, 存储卡订货号如下表所示:
订货 | 容量 |
6ES7 954-8LF01-0AA0 | 24MB |
6ES7954-8LC01-0AA0 | 4MB |
6ES7 954-8LB01-0AA0 | 2MB |
如果使用 Windows 格式化程序对 SIMATIC 存储卡重新进行格式化,CPU 将无法使用该重新格式化的存储卡。
目前,S7-1200 仍不能使用存储卡实现配方和数据归档这样的高级功能。
2 存储卡的工作模式
存储卡有两种工作模式:
程序卡:存储卡作为S7-1200 CPU 的装载存储区,所有程序和数据存储在卡中,CPU 内部集成的存储区中没有项目文件,设备运行中存储卡不能被拔出 。
传输卡:用于从存储卡向 CPU 传送项目,传送完成后必须将存储卡拔出。CPU 可以离开存储卡独立运行。
修改存储卡的工作模式:
在STEP 7 Basic 软件的项目视图下,点击左侧"项目视图“--->"SIMATIC Card Reader" --->您的读卡器型号,如下图所示:
图. 3: 项目视图
右击存储卡的盘符(这里是F:),选择“属性”按钮,打开下面窗口:
图. 4: 存储卡属性
用户在“存储卡类型”中选择需要的工作模式,点击“确认”完成设定。
3 程序卡的不同模式
优点:更换 CPU 时不需要重新下载项目文件。
3.1 上载用户文件到存储卡
步: 按照上面方法将存储卡设定到“编程”模式。建议客户做此操作之前清除存储卡中的所有文件。
第二步: 设置 CPU 的启动状态。在"项目树"中右击 CPU 选择“属性”,在“属性”窗口中点击“启动”,此处我们必须选择“暖启动-RUN 模式”。
图. 5: 启动
第三步: 将 CPU 断电
第四步: 将存储卡插到 CPU 卡槽内
第五步: 将 CPU 上电
第六步: 在 STEP 7 Basic 中点击下载,将项目文件全部下载到存储卡中。此时下载是将项目文件(包括用户程序、硬件组态和强制值)下载到存储卡中,而不是 CPU 内部集成的存储区中。
完成上述步骤后,CPU可以带卡正常运行。此时如果将存储卡拔出,CPU 会报错,"ERROR"红灯闪烁。
6ES7972-0BB52-0XA0