热门搜索:

上海西邑电气技术有限公司成立于1996年。在西门子公司广大同仁和工控领域各界朋友的关怀下埋头发展,一路走来已成西门子合作伙伴中的佼佼者。总部设在上海,办公面积1500多平方米,员工150余人。

    西门子DP网络接头

    更新时间:2020-09-20   浏览数:181
    所属行业:机械 电工电气 工控系统及装备
    发货地址:上海市金山区  
    产品规格:西门子DP网络接头
    产品数量:500.00个
    包装说明:全新原装
    单 价:面议

    西门子DP网络接头

    信誉,客户至上是公司成立之初所确立的宗旨,在公司领导的严格要求和员工们不折不扣地贯彻执行下发展延续至今。“假一罚十”一直是我公司的主动承诺。
    承诺一:1、保证全新原装进口   
    承诺二:2、保证安全准时发货
    承诺三:3、保证售后服务质量
    流程一:1、客户确认所需采购产品型号
    流程二:2、我方会根据询价单型号查询价格以及交货期,拟一份详细正规报价单
    流程三:3,客户收到报价单并确认型号无误后订购产品
    流程四:4、报价单负责人根据客户提供型号以及数量拟份销售合同
    流程五:5、客户收到合同查阅同意后盖章回传并按照合同销售额汇款到公司开户行
    流程六:6、我公司财务查到款后,业务员安排发货并通知客户跟踪运单

    随着200CN产品的退市和200Smart产品的升级,200Smart产品的功能越来越丰富,产品的市场份额也在不断增加,尤其近的V2.4版本增加了PROFINET控制器功能、默认携带开放式通讯库,给广大中小型项目的用户带来很大福音,相信该产品的市场会越来越大。

           我们在使用200CN、200SMART的时候,是否遇到过子程序堆栈限制问题呢?我是经常遇到,系统给子程序开辟的堆栈是64个字节,真正给用户做变量来使用的其实只有60字节,如果使用四字节变量,多也就15个变量吧!

           原来使用200CN时,我尽量控制接口变量的使用数量,但是这又是矛盾的:使用接口变量,有利于子程序的标准化,将子程序中的全局变量使用数量减少,甚至全部使用接口变量,才算的上是子程序块满足标准化的条件吧!如果子程序接口变量数量达到上限,子程序编程时必须采用全局变量的话,会降低子程序标准化的可能性,只要子程序中使用一个全局变量,那么这个子程序就不是标准化的块,需要重复使用时修改其中的全局变量,防止重复的全局变量导致程序逻辑出现异常。

          上个月在调试一个200Smart项目时发现,200Smart子程序的堆栈区,除受60字节限制外,还受16个变量的限制,即使我使用超过16个BOOL变量也是不允许的,16个BOOL变量才2字节啊,为啥剩余的L区地址就不让我用了呢?估计系统是按四字节变量计算堆栈使用情况的吧,16个变量,无论你使用BOOL型还是Real型,统统按变量个数计算,超出就不能用啦。

          针对系统的这一特性,我们怎么来大化的使用好200Smart的堆栈呢?下面我来说说我规避200Smart子程序堆栈限制的几个方法,和大家一起探讨交流,不当之处请各位专家批评指正!

    方法1:

           将BOOL型变量改成WORD型变量,一个WORD型变量可以包含16个位变量,这样在子程序中结合逻辑与指令,就可以顺利取出字变量中的位,进行位逻辑判断并将位输出顺利赋值到字变量的某个位,通过两个字类型的接口变量即可实现16位的输入、输出,参考附图1中的两个字类型的接口变量:

           

                                                                      图 1

    方法2:

           对于BOOL型接口变量多的子程序,压缩成WORD型变量外,需要多个两字节、四字节变量的时候,我一般采用几个DWORD型接口变量将全局变量的地址,传送入子程序中,子程序利用这些地址,通过间接寻址、数学和逻辑运算后,将计算结果通过间接寻址直接写入全局变量中,规避了子程序堆栈字节数和变量数的限制。

          主程序中调用子程序也很简单,直接赋值WORD型实参和DWORD型地址实参即可,参考下图2:

            


                                                                 图  2

            方法2中使用了间接寻址,存在的弊端是其他人比较难读懂程序,必要时要结合交叉索引检查变量使用情况。

          如果项目允许,我尽量将子程序简化,使用少的接口参数结合接口参数数量和类型的压缩,来实现多数项目程序的编写。

    在进行程序上传下载操作前,需要通过S7-1500 CPU操作面板确认下项目的软件版本,当使用的软件版本和项目的软件版本不一致时可能会报错;

    S7-1500CPU操作面板可以查看项目的编程软件版本,只有选择合适版本的编程软件才能上传下载程序;上传PLC程序;

    西门子DP网络接头

    与CPU建立在线连接前提条件:PC和CPU的IP地址需要在同一个网段上;

    设置CPU的IP地址时,CPU需要停机;

    注意:用S7-1500面板修改IP,下控制电后IP地址会丢失恢复初始值;

    1、程序的上传(设备不停机)

    注意:从博途软件上传的程序包含符号表,这点和STEP7不同;

    新建项目,输入项目名称(一般格式:设备名称+日期+改动的内容),选择项目保存的路径;点击创建按钮;


    选中项目,选择在线-作为新站(硬件和软件)上传;




    选择以太网,本机网卡,扫描设备;设备出现下面的列表后,点击设备上传按钮,开始上传;

    上传完成后,关键一步,要保存一下项目;


    2、程序的下载

    下载PLC硬件组态,设备需要停机;下载PLC程序不一定停机;

    选择PLC站点,点击下载到设备按钮;


    目前,工控领域繁多,国产系列,欧美系列,日韩系列,每个都有自己的组态编程软件。虽然做自动化的,编程在搞软件的人眼里只是小儿科,但是能做到对每个的都熟悉还真就不是一件容易的事儿。首先软件的应用就是一个不小的挑战。下面来分享下我之前遇到的故事。

    由于本人目前所在单位产品系列比较多,用的也比较杂,很多时间和经历不得不放在学习新的软件操作,那么问题来了,不同的软件有时候是冲突的,记得2013年的时候,电脑装了西门子的step7,结果新的项目要用AB的PLC和触摸屏,Studio5000和SE7.0。结果怎么装也装不上。现场还有其他设备需要用step7调试,也不能重新做系统啊,没办法又搞了一台电脑,专门装AB的软件。本想着就这样对付用了,没过多久新的问题又来了,现场有一个伦茨的驱动,需要用伦茨的软件诊断一下,没考虑太多,直接安装在step7那个系统里了,安装倒是挺顺利,问题也顺利解决了,再用step7的时候怎么也编译不了,报了一个匪夷所思的警告“一致性检查错误”。当时正好一个西门子的朋友来我们工厂参观,请他指导一下怎么解决,他弄了半天终通过重装step7解决的。

    2014年,用博途V13做的设备已经发到客户里,16年设备批量生产的时候博途已经是V14,驱动软件starter也从V4.3 V 4.4到现在的V5.2, 没一次安装软件视乎都是诸多不顺,不是这软件安装不上就是那个软件冲突了用不了。记忆深刻的一次是2016年批量调试10台设备,调试好了5台,中途安装了其他软件,结果“杯具”了,每次下载触摸屏程序的时候都显示“通讯错误”。由于设备工期紧,只好拿同事的电脑暂时应急。从那时起,我下定决心一定要找到一个办法解决这个事情。上网查了一下,和同事一商量,直接换高配电脑,装虚拟机,不同软件装不同虚拟机里,虚拟机定期备份(这个比较关键,即使工期比较紧的时候出现软件问题也可以直接从服务器里把备份拷贝出来)。

    和领导说明情况之后,领导也是非常开明,二话没说,该投资的必须投资,于是我们二人直接换高配电脑成功,当时这电脑配置觉得可以,现在跑博途V15也是比较流畅。

    展示下电脑主要参数:

    处理器 i7

    主频   2.7GHZ

    内存16G

    一的遗憾是128G的固态+500G机械硬盘

    目前,我的电脑里装了3个虚拟机,AB软件一个系统,博途V13一个系统,博途V14一个系统,博途V15和step7 V5.6 SCOUT5.1都装在了外面。速度说不上有多快,对于我这样水平的选手来说足够了。


    西门子DP网络接头



    http://www.hyzdhxt.com