s200 子程序 零散问题

关于s200的子程序,我继续问一些很基本的问题,还烦请前辈指

教。
1:在主程序里,用了一个定时器T38,计数器C0,我想在子程序

中读出他们的数值,比如。直接把C0(或T38)的值用转换指令(I_DI)转

换成双整型,然后用(DI_R)转换成实型,然后进行浮点数运算

,可以吗?
2:在主程序中的内部存储器标志位M,在主程序中修改,在子程

序中会相应的改变吗,比如在主程序中,把M0.0置位,然后进入

子程序,子程序中的M0.0自然就是置位的。原本M0.0是个常闭的

话,执行置位操作后就是断开了吧?
3.如果以上两条都成立,我能不能这么理解,V,I,Q,M,SM,S,T,C

这些存储区,在主程序,子程序是通用的,可以随便传递?
4.第四个问题也让我纠结好久了。比如,书上有这么一句话,

CPU226模块变量存储器的有效地址范围为:V(0.0-5119.7),VB

(0-5119),VW(0-5118),VD(0-5116)。我想问的是,这四个存储区

是独立的吗?比如,我在VD0里存了一个实数M,然后我再用VB0

存个整数N,N会把M覆盖吗?如果能覆盖,那就是说我用了VD0,

后,VB0-VB7已经都被占用了,不能用了,如果这样也太恐怖了

点吧。
5.还有,触摸屏上有设on,设off操作,如果对常开触点操作,很好理解,设on就闭合,设off就断开,如果对常闭触点操作呢? 设on后常闭还是闭合?还是动作一下,变成常开?如果变成常开,那设on功能不就错了吗?还是应该理解成,对常开触点,设on功能让其闭合,对闭,仍然保持常闭,不动作。
自学PLC,无人指教,这个论坛是我最大的希望寄托啦,还请回答

的越详细,越通俗越好。跪谢……

问题补充:
我就第四个问题,做一下补充提问。
1.比如双整数到整数的转换(DI_I):输入VD40,输出为VW40.(VW42,VW43是不是在转换后,仍然存着一些类似于乱码的东西)。
2.整数到双整数的转换:输入VW0,输出为VD0.
这两种做法是不是不规范,因为输入,输出用到了同一个存储区。
3. 传送指令(MOV_R),输入为VD4,输出为VD4,这种方法是不是不规范。 因为我要从触摸屏输入一个数到VD4,然后把地址&VB4传给VD1000,然后在子程序读VD1000里面的值。
 我要问的是,MOV_R 输入、输出均为VD4合适吗?还有这个用间接寻址的思路,有什么问题吗? 
再次谢谢你们的回答。

图片说明:

s200 子程序  零散问题   

最佳答案

1、在子程序中完全可以引用主程序中变量的数值。即在子程序中可以引用全局变量。
2、在主程序中修改可某个M标志,在调用子程序中该M标志肯定也会相应改变。
3、所有全局变量在主程序、子程序中是通用的,可以随便传递。
4、V(0.0-5119.7),VB(0-5119),VW(0-5118),VD(0-5116)。我想问的是,这四个存储区
是独立的吗?
不是独立的,是重合的。简单地讲由八个V(位)组成一个VB(字节),又由两个VB(字节)组成一个VW(字),又由两个VW(字)组成一个VD(双字)。换言之,一个VD(双字)包括两个VW(字),一个VW(字)包括两个VB(字节),一个VB(字节)包括八个V(位)。它们的地址排序:
V0.0,V0.1,V0.,2......V0.7,V,1.0......;
VB0,VB1,VB2......;
VW0,VW2,VW4,VW6......;
VD0,VD4,VD8,VD12......;
5、触摸屏上有设on,设off操作问题。这个问题不要一概而论。要分清开关与按钮不一样。
、如果设置为选择开关,即ON/OFF两个位置是保持的。一般这种应用ON接常开,OFF接常闭。
此时可理解为设on功能让其闭合,对与OFF的常闭,仍然保持常闭,不动作。如果设为OFF其常闭变常开,ON变为常开。
、如果设置ON/OFF各为按钮,这个两个按钮按下、抬起都是一个由0变为1,、再由1变为0的过程。这种与开关不同就是不保持,所以在编程时有注意正确应用这种上升沿或下降沿来实现通与断的操作。
、硬件中有开关与按钮,两者应用的方法不同,在软件中也如此。

提问者对于答案的评价:
不好意思,回复迟了。有事耽误了。
我的问题写的很繁琐,感谢你们能耐心读完,并认真讲解。我很想知道你们的联系方式,但不知道怎么看,呵呵。我正在改我写的程序,祝愿我好运吧。感谢,@song1983,@阿鸣,@WWCWWC,当然,@silen的回答也很喜感。
@阿鸣 的回复,我看了,莫名的感动。

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc216866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月26日 下午3:48
下一篇 2017年11月26日 下午3:48

相关推荐

  • s7 200模数转换程序

    s7 200模数转换程序不知在哪里下载, 从前下过,删掉了。 最佳答案 s7 200标定库:http://cache.automation.sieme…

    SIMATIC S7-200 2020年11月1日
  • 固态继电器输出问题

    一般采集板卡数字量输出都是TTL电平,控制一个TTL电平输入的固态继电器,固态继电器的输出端接入PLC输入端,以完成控制。固态继电器输出不是无源触点,这种接法有问题吗?谢谢。 最佳…

    SIMATIC S7-200 2020年10月31日
  • s7-200通过端口PORT0,用自由口通信的方式读磅秤的数据,具体的程序怎么做

    s7-200通过端口PORT0,用自由口通信的方式读磅秤的数据,具体的程序怎么做?急切盼望,望各位大侠指点 问题补充:我是这样做的,你看行吗?主程序LD  &n…

    SIMATIC S7-200 2020年10月31日
  • 200PLC做Modbus从站时,上位机电脑读取IO信息如何操作

    200PLC做从站是modbus这样设置好了,上位机电脑读取是是不是只要在电脑中的modbus通讯中输入对应IO点位的modbus地址,不需要在PLC中再做其他操作了吗 最佳答案 …

    SIMATIC S7-200 2017年6月9日
  • CP5512和S7-200通迅

    使用CP5512和S7-200通迅时 提示端口无法打开或正由另一个应用程序使用 CP5512使用的也是串口吗 在设备管理里面为什么看不到呢 …

    SIMATIC S7-200 2020年10月31日
  • 长时间定时

    触摸屏:威纶触摸屏;PLC:西门子S7–200,我想对一台电机进行定时  运行4小时,停3小时(时间可以任意设定);当运行时间设定为0时,电机不会运行。程序应…

    SIMATIC S7-200 2017年11月1日
  • 一个博途设备组态问题

    硬件组态,ET200可是,博途里设备视图只有12个槽,怎么多增加几个I/槽,见图,怎么操作啊。还有2个模块没地放。 问题补充:是组态ET200s 图片说明:  &nbsp…

    2021年7月5日
  • 力控与s7-200

    s7200plc与力控怎样进行数据点连接 比如说i0.0对应力控点的地址该设为0吗,如果是模拟量,plc里的vw0在力控里对应的是模拟量的地址零吗 还请详细告知…

    2021年7月5日
  • 文本显示器PLC数据类型问题

    组态TD400C文本显示器的时候,我们插入的PLC数据类型是VW2000,然后后面有一个选项是小数点右侧位数,这个VW变量我们不是认为它是个整型吗?为什么还可以要求我们显示小数点位…

    SIMATIC S7-200 2021年7月4日
  • 简易位置控制

    我想用200的PLC控制松下的伺服,做简单的位置控制,因为200的PTO输出已经用完,所以想做一个PID将伺服的反馈脉冲读回来作为PV值,然后用模拟量输出控制伺服,在目标位置范围做…

    SIMATIC S7-200 2020年10月31日