技术论坛

STEP7 编程 怎么编三选一或四选二程序

作者 主题
新手

经验值: 17
发帖数: 2
精华帖: 0
主题:【求助】STEP7 编程 怎么编三选一或四选二程序


只看楼主 楼主 2020-05-28 21:48:56

比如四个探头,两个报警触发逻辑。有没有专门的fc块来编这样的程序


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1625835&b_id=4&s_id=0&num=14

至圣

经验值: 20123
发帖数: 2775
精华帖: 23
回复:STEP7 编程 怎么编三选一或四选二程序
推荐帖


只看楼主 1楼 2020-05-28 22:09:02

半字节的值与以下集合中的每个元素做比较,相等即输出报警。{3,5,9,6,10,12}


Less is more……
以下网友喜欢您的帖子:

  
至圣

经验值: 20123
发帖数: 2775
精华帖: 23
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 2楼 2020-05-28 22:17:05

这个问题本质上是统计位串中值为“1”的总个数,可以找相关使用计算机语言阐述的专题看看。


Less is more……
以下网友喜欢您的帖子:

  
至圣

经验值: 19341
发帖数: 2076
精华帖: 72
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 3楼 2020-05-28 22:51:02

从排序后的队列中取一个数值,比如2oo4,就取队列中第二个数值与标准值比较,结果输出。

排序程序在各版块都有讨论


大道至简,知易行难
以下网友喜欢您的帖子:

  
侠圣

经验值: 4858
发帖数: 735
精华帖: 10
回复:STEP7 编程 怎么编三选一或四选二程序
推荐帖


只看楼主 4楼 2020-05-30 00:33:27

好复杂,楼主描述问题能不能详细些?

不过从跟贴看问题似乎是有四个报警点,任何两个为ON就触发处理逻辑。不知道我理解的对不对?

1/只是两个有效吗?三个四个呢?

2/很好解决呀。每个点分配一个int,报警On则int=1,报警Off则int=0.

求和呀,Sum=int1+int2+int3+int4。sum=2。。。。。



 
以下网友喜欢您的帖子:

  
至圣

经验值: 43582
发帖数: 15779
精华帖: 61
回复:STEP7 编程 怎么编三选一或四选二程序
推荐帖


只看楼主 5楼 2020-05-31 11:10:06

stl:

L 0

T sum

A I0.0

jcn m1

L sum

L 1

+I

T sum

m1:A I0.1

jcn m2

L sum

L 1

+I

T sum

m2:

A I0.2

jcn m3

L sum

L 1

+I

T sum

m3:A I0.3

jcn m4

L sum

L 1

+I

T sum

m4:nop 0

L sum

L 2

>=I

jcn m5

需要报警编写的程序

m5:nop 0


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
侠圣

经验值: 2790
发帖数: 390
精华帖: 5
回复:STEP7 编程 怎么编三选一或四选二程序
推荐帖


只看楼主 6楼 2020-06-04 09:58:36

CONST

    // Constants

Total:= 4;                //定义的总探头数目 可以更改

END_CONST


VAR_INPUT

input:ARRAY[1..Total] OF BOOL;

END_VAR


VAR_OUTPUT

movement:BOOL;

END_VAR


VAR

store:ARRAY[1..Total] OF INT;

NO:INT;

sum:INT;

END_VAR


   FOR NO:= 1 TO Total BY 1 DO

        // Statement Section

        IF input[NO] THEN

           store[NO]:=1;

        ELSE

            store[NO]:=0;

        END_IF;

        IF NO =1 THEN

            sum:= store[NO];

        ELSE    sum := sum + store[NO];

        END_IF;

        

        IF sum >= 2 THEN      //当探头同时有两个检测到 可以更改

            movement:= true;                      //movement 为 你需要执行的动作

        ELSE

            movement:=false;

        END_IF;

    END_FOR;


END_FUNCTION_BLOCK



大家同行,you ok ? me !
以下网友喜欢您的帖子:

  
侠圣

经验值: 2790
发帖数: 390
精华帖: 5
回复:STEP7 编程 怎么编三选一或四选二程序
推荐帖


只看楼主 7楼 2020-06-04 10:00:35

IF sum >= 2 THEN  // 如果要求必须是两个  则  =2  如果大于等于两个都要动作,则>=2


大家同行,you ok ? me !
以下网友喜欢您的帖子:

  
侠士

经验值: 1372
发帖数: 395
精华帖: 2
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 8楼 2020-06-05 15:59:07

300有现成的块FC99


智慧制造!
以下网友喜欢您的帖子:

  
游侠

经验值: 521
发帖数: 49
精华帖: 0
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 10楼 2020-11-29 21:42:08

这个需要自己编写判断,用卡诺图分析逻辑然后就可以按照逻辑表达式编程序。


做过几个工控软硬件设计和调试,以及监控软件。
以下网友喜欢您的帖子:

  
奇侠

经验值: 9630
发帖数: 409
精华帖: 0
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 11楼 2020-11-30 08:45:17

需要楼主对程序深入了解,就会发现编程就像说话一样,按照顺序描叙清楚即可。


学无止境,与时俱进。
以下网友喜欢您的帖子:

  
侠客

经验值: 758
发帖数: 148
精华帖: 0
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 12楼 2020-11-30 10:13:33

用真值表图  写程序


QQ群:336416617
以下网友喜欢您的帖子:

  
奇侠

经验值: 7973
发帖数: 2355
精华帖: 73
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 13楼 2020-12-01 10:58:37

四个输入,点数少,直接用枚举,不涉及输入点的连续性,用梯形图表达,也比较直观。


佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
以下网友喜欢您的帖子:

  
版主

经验值: 16184
发帖数: 6609
精华帖: 50
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 14楼 2020-12-01 11:30:44

这类问题,难点不在编码上,重要的是数学上的逻辑。掌握如何将物理问题诉求量化为数学问题,此后通过计算进行选择,这种建模能力是工程师创造力的基础。这种能力和方法的探讨更有价值。


知其道,用其妙!
以下网友喜欢您的帖子:

  
奇侠

经验值: 8094
发帖数: 1308
精华帖: 6
回复:STEP7 编程 怎么编三选一或四选二程序


只看楼主 15楼 2020-12-01 20:31:29

感觉这个问题很好解决啊?有那么难吗?还是我想多了》》》》?????四个探头报警前面加四个敞开点不就好了吗?用那个就投入那个,,这不就是选择吗?


养活一团春意思,撑起两根穷骨头
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
STEP7 编程 怎么编三选一或四选二程序
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。