产品展示
PRODUCT DISPLAY
产品展示您现在的位置: 首页 > 产品展示 > 西门子 > 西门子模块 >6ES73401CH020AE0西门子CP340通信模块

6ES73401CH020AE0西门子CP340通信模块

产品型号:

厂商性质:经销商

产品价格:

产品时间:2020-06-08

简要描述:

6ES73401CH020AE0西门子CP340通信模块

6ES7340-1CH02-0AE0
SIMATIC S7-300,CP 340 通信处理器 带 RS-422/485 接口 包括项目组态包 在 CD 上

在线咨询 点击收藏

6ES73401CH020AE0西门子CP340通信模块

6ES7340-1CH02-0AE0

SIMATIC S7-300,CP 340 通信处理器 带 RS-422/485 接口 包括项目组态包 在 CD 上

SIEMENS西门子

全新原装,质量保证,保修一年

专业销售及维修西门子各类工控自动化配件;

:S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO逻西门子可编程控制器辑控制模块

西门子HMI人机界面:触摸屏

西门子变频器:MM420、MM430、MM440、G110、G120、6SE70

西门子工业以太网:通讯网卡、通讯电缆、通讯接头、总线连接器 工控机、交换机、自动化软件等系型号齐全,快速报价,买我们的产品无忧所值,我们的产品都承诺质保一年,让您买的省心舒心,用的放心!

跟我一起玩200 smart PLC

关于指针及循环指令的应用续3

   昨天下午,看到“找答案”版区有一个网友提问,说200smart的指针如何使用问题,问题链接:

并帖出一程序,问题描述非常详细,给回答省却许多不必要的误解。我看了一下,感觉没有太大的程序错误语法,仅仅只是指定指针地址偏移处出现了地址区的错误,就回了一个贴,居然还被认可了。仔细想了想感觉不妥,似乎在那里出了一点状况(大汗淋漓)。在回帖时写了一句需要验证,又特将此程序剪切下来,回到家里仔细看起来问题还真不少。

网友的原程序: 经过提示,网友已经意识到错误的出处。

LD     Clock_1s
EU                                       //上升沿
LBL    1                                 //标记
MOVD   &VB200, VD100
MOVW   *VD100, VW300
+D     +2, VD200                     //寻址加2
+I     +1, VW400                     //循环+1次

AW>   VW400, 10                    //大于等于10次
=      M0.0
LDN    M0.0                                                     //LD   M0.0
JMP    1                                 //标记                              //当循环10次上 调至标记1处,

                                                        重新进行循环,显然无法清除循环次数。

                                                               

MOVW   +0, VW400                   //重置循环计数器 
MOVD   +0, VD100                  //改此处??        //重置寻址起始位置 //                

网友提问的本意应该是想通过指针的地址偏移,将地址自VW200开始的10个数据利用SM0.1标志位的上升沿、指针偏移方式依次写入到数据存储地址VW300中。

 

上述程序的错误:

首先,取初始指针地址不能每一个秒脉冲都取一次。可以调用SM0.1取一次初始指针地址或者每10个循环到达后再调用(这个方法我经常用的)。

其次,LDN M0.0,根据网友意图是当经过10秒后,清除循环次数及指针返回。但是,如果在此处使用LDN,则意义刚好相反,变为没有到达10始终清零。

再次,调用跳转指令JMP,显然有驳于原编程思路,当循环计数10到达后,调用JMP上跳至标记“1”处,反而无法将循环次数与指针返回。索性删除这个跳转,因为没有必要,原因是循环10次到达后,可以通过双整数指令的减法将指针返回了初始指针地址。

另外,我在初次回复中也强调过关于循环次数比较指令的应用。如果是采用AW>10时,指针返回需要上移22个字;如果是采用AW = 10时,指针返回上移20个字的地址,实际上仅仅是循环10次与11次的区别,如果采用的是AW = 10,最后应该数据VW218只能显示一个扫描周期时间。反之,如果采用的是AW > 10,则有1秒的时间显示,这个可以根据实际需要选择。

于是,修改了一下网友的程序,将程序下载到cpu验证,图示:

修改后的程序如下所示:

 

 

启用“状态图表”监控程序运行情况:

 

 

   看似一个简单的指针调用,实际上里面的内涵还是蛮深奥的,曾经有一位资深大侠的那一句话,我一直记在心里“书读的越多,才知道这个书会变的越厚”。希望那位网友能够看到此贴后改正程序的不合理处,特将此贴通过整理发上来,让大家来看看,加深对西门子200(200smart)指针应用的理解。

6ES73401CH020AE0西门子CP340通信模块

留言框

  • 产品:

  • 留言内容:

  • 您的单位:

  • 您的姓名:

  • 联系电话:

  • 常用邮箱:

  • 详细地址:

  • 省份:

  • 验证码:

    请输入计算结果(填写阿拉伯数字),如:三加四=7
在线客服