快过年了,遇到老客户要采购S7-300。公司给报了一套硬件价格,客户说有更便宜的供应商。协商着协商着就找我们公司采购了,没想到后来说这价格是包含程序费的!报价如下
(一)硬件配置如下图
1.三个CPU,三个站点,他们之间#1和#3交换数据,#1和#2交换数据。由于300价格与货期不明朗。后期维护不方便。
2.推荐客户用S7-1500,价格相对便宜,方便后期维护。然后客户拒绝。
3.推荐3个站点完全可以挂ET200M,降低编程难度。然后客户拒绝。
4.原本以为他们自己编程,然而又出了如今买硬件送程序这一折。(公司答应了,为了巩固客户,无奈,年前只好把编程压到我的身上。)
交换数据S7-300没经历过,所以有点不知所措,而且还是0费用,公司就我做技术。综上因素,自己开始打退堂鼓。但是有时候我们不是为了钱而却做,做这些事是为了自己,为了得到更好的历练。
(二)方案可行性分析
在西门子技术论坛找了资料:如下
https://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=106412&cid=1029
两套CPU交换可行,那么三套按理来说也行。为了确定第一遍打了技术支持热线,得到了肯定的回复。并且给我资料链接。如下
如何组态通过CPU集成PN/IE接口或以太网CP的开放式以太网通信? "https://support.industry.siemens.com/cs/cn/zh/view/24294554
"
如何使用通信功能块FC5和FC6编程? https://support.industry.siemens.com/cs/cn/zh/view/17853532
在论坛也问了问题,非常感谢解答者和西家技术支持
(三)网络硬件组态
1.在网络组态连接伙伴的时候很纠结是相互之间建一个还是建两个。后来做了几次实验,相互之间建一个连接就够了。如下图所示
(四)软件编程
软件里,发送数据调用FC5,接收数据调用FC6。#1站可以建两个FC5和FC6发送和调用,这原本是我迷惑的。现在事实证明这是可以的。编程发送比较简单,调用块就行。
(1)编程中遇到了发送数据存在一闪一闪的状态,发送的是BOOL形。后来又打了西门子热线,热线工程师很专业,建议我删除传输块,新建试试。结果问题得到了解决。
(2)整体框架搭建好以后,就要考虑故障问题。如果一站掉线,本站就要停止输出。看了相关文档后,发现FC10是连接状态参考块,调用这个块使用。发现响应速度很慢,要半分钟才检测的到。
(3)最后实在走投无路,请教热线,热线工程师让我编一个脉冲输出来检测。打完电话有点云里雾绕,后来想了想,第二天想通了,问题解决了。到此,用了3天+0成本+3个热线电话+无数次失败的项目。
(五)搭建实验如图所示
最后得感谢西门子技术支持热线和热心网友!