80个工位的双联开关控制公用灯的模块化程序示例分享

已锁定

万泉河

  • 帖子

    10887
  • 精华

    132
  • 被关注

    900

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

80个工位的双联开关控制公用灯的模块化程序示例分享

3549

52

2022-06-04 23:04:38

控制要求来自zane出的题目, 每个工位一个双联开关共同控制一个公用的灯, 每个工位的开关的操作,都出发出对灯的状态的反转, 即如果灯上一个状态是灭, 则反转为亮. 而如果原本是亮, 则灭灯. 


为了展示标准化模块化方法的便捷性和优雅性, 应某些学员的要求, 扩展到80个工位. 尽管实际应用中不可能有这样的需求. 


欢迎大家下载测试. 


注意,程序模块的调用部分,是直接简单80行调用实现的:


#工位[0](SIG:="开关信号组".DI[0],LAMP:="LAMP");

#工位[1](SIG:="开关信号组".DI[1],LAMP:="LAMP");

#工位[2](SIG:="开关信号组".DI[2],LAMP:="LAMP");

#工位[3](SIG:="开关信号组".DI[3],LAMP:="LAMP");

#工位[4](SIG:="开关信号组".DI[4],LAMP:="LAMP");

#工位[5](SIG:="开关信号组".DI[5],LAMP:="LAMP");

#工位[6](SIG:="开关信号组".DI[6],LAMP:="LAMP");

#工位[7](SIG:="开关信号组".DI[7],LAMP:="LAMP");

#工位[8](SIG:="开关信号组".DI[8],LAMP:="LAMP");

#工位[9](SIG:="开关信号组".DI[9],LAMP:="LAMP");

#工位[10](SIG:="开关信号组".DI[10],LAMP:="LAMP");

#工位[11](SIG:="开关信号组".DI[11],LAMP:="LAMP");

#工位[12](SIG:="开关信号组".DI[12],LAMP:="LAMP");

#工位[13](SIG:="开关信号组".DI[13],LAMP:="LAMP");

#工位[14](SIG:="开关信号组".DI[14],LAMP:="LAMP");

#工位[15](SIG:="开关信号组".DI[15],LAMP:="LAMP");

#工位[16](SIG:="开关信号组".DI[16],LAMP:="LAMP");

#工位[17](SIG:="开关信号组".DI[17],LAMP:="LAMP");

#工位[18](SIG:="开关信号组".DI[18],LAMP:="LAMP");

#工位[19](SIG:="开关信号组".DI[19],LAMP:="LAMP");

#工位[20](SIG:="开关信号组".DI[20],LAMP:="LAMP");

#工位[21](SIG:="开关信号组".DI[21],LAMP:="LAMP");

#工位[22](SIG:="开关信号组".DI[22],LAMP:="LAMP");

#工位[23](SIG:="开关信号组".DI[23],LAMP:="LAMP");

#工位[24](SIG:="开关信号组".DI[24],LAMP:="LAMP");

#工位[25](SIG:="开关信号组".DI[25],LAMP:="LAMP");

#工位[26](SIG:="开关信号组".DI[26],LAMP:="LAMP");

#工位[27](SIG:="开关信号组".DI[27],LAMP:="LAMP");

#工位[28](SIG:="开关信号组".DI[28],LAMP:="LAMP");

#工位[29](SIG:="开关信号组".DI[29],LAMP:="LAMP");

#工位[30](SIG:="开关信号组".DI[30],LAMP:="LAMP");

#工位[31](SIG:="开关信号组".DI[31],LAMP:="LAMP");

#工位[32](SIG:="开关信号组".DI[32],LAMP:="LAMP");

#工位[33](SIG:="开关信号组".DI[33],LAMP:="LAMP");

#工位[34](SIG:="开关信号组".DI[34],LAMP:="LAMP");

#工位[35](SIG:="开关信号组".DI[35],LAMP:="LAMP");

#工位[36](SIG:="开关信号组".DI[36],LAMP:="LAMP");

#工位[37](SIG:="开关信号组".DI[37],LAMP:="LAMP");

#工位[38](SIG:="开关信号组".DI[38],LAMP:="LAMP");

#工位[39](SIG:="开关信号组".DI[39],LAMP:="LAMP");

#工位[40](SIG:="开关信号组".DI[40],LAMP:="LAMP");

#工位[41](SIG:="开关信号组".DI[41],LAMP:="LAMP");

#工位[42](SIG:="开关信号组".DI[42],LAMP:="LAMP");

#工位[43](SIG:="开关信号组".DI[43],LAMP:="LAMP");

#工位[44](SIG:="开关信号组".DI[44],LAMP:="LAMP");

#工位[45](SIG:="开关信号组".DI[45],LAMP:="LAMP");

#工位[46](SIG:="开关信号组".DI[46],LAMP:="LAMP");

#工位[47](SIG:="开关信号组".DI[47],LAMP:="LAMP");

#工位[48](SIG:="开关信号组".DI[48],LAMP:="LAMP");

#工位[49](SIG:="开关信号组".DI[49],LAMP:="LAMP");

#工位[50](SIG:="开关信号组".DI[50],LAMP:="LAMP");

#工位[51](SIG:="开关信号组".DI[51],LAMP:="LAMP");

#工位[52](SIG:="开关信号组".DI[52],LAMP:="LAMP");

#工位[53](SIG:="开关信号组".DI[53],LAMP:="LAMP");

#工位[54](SIG:="开关信号组".DI[54],LAMP:="LAMP");

#工位[55](SIG:="开关信号组".DI[55],LAMP:="LAMP");

#工位[56](SIG:="开关信号组".DI[56],LAMP:="LAMP");

#工位[57](SIG:="开关信号组".DI[57],LAMP:="LAMP");

#工位[58](SIG:="开关信号组".DI[58],LAMP:="LAMP");

#工位[59](SIG:="开关信号组".DI[59],LAMP:="LAMP");

#工位[60](SIG:="开关信号组".DI[60],LAMP:="LAMP");

#工位[61](SIG:="开关信号组".DI[61],LAMP:="LAMP");

#工位[62](SIG:="开关信号组".DI[62],LAMP:="LAMP");

#工位[63](SIG:="开关信号组".DI[63],LAMP:="LAMP");

#工位[64](SIG:="开关信号组".DI[64],LAMP:="LAMP");

#工位[65](SIG:="开关信号组".DI[65],LAMP:="LAMP");

#工位[66](SIG:="开关信号组".DI[66],LAMP:="LAMP");

#工位[67](SIG:="开关信号组".DI[67],LAMP:="LAMP");

#工位[68](SIG:="开关信号组".DI[68],LAMP:="LAMP");

#工位[69](SIG:="开关信号组".DI[69],LAMP:="LAMP");

#工位[70](SIG:="开关信号组".DI[70],LAMP:="LAMP");

#工位[71](SIG:="开关信号组".DI[71],LAMP:="LAMP");

#工位[72](SIG:="开关信号组".DI[72],LAMP:="LAMP");

#工位[73](SIG:="开关信号组".DI[73],LAMP:="LAMP");

#工位[74](SIG:="开关信号组".DI[74],LAMP:="LAMP");

#工位[75](SIG:="开关信号组".DI[75],LAMP:="LAMP");

#工位[76](SIG:="开关信号组".DI[76],LAMP:="LAMP");

#工位[77](SIG:="开关信号组".DI[77],LAMP:="LAMP");

#工位[78](SIG:="开关信号组".DI[78],LAMP:="LAMP");

#工位[79](SIG:="开关信号组".DI[79],LAMP:="LAMP");


有人会质疑,这么简单又规律的程序,为啥不用循环? 岂不是会更简单. 


嗯,是的. 这里的DI信号,使用了UDT数组, 前提是硬件接线需要有规律的连续80个DI.

实际工程应用中是没有这样的好事的. DI点不可能如你所愿连续有规律. 所以你迟早要把这些点位数据送给程序块. 如果为了循环, 就需要同样长度的前处理准备数据.还不如这样做直接简单调用来实现了数据赋值. 


P16-80个工位的双联开关_20220604_2246.zip



80个工位的双联开关控制公用灯的模块化程序示例分享 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有13023条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。