标题:求编程方案
只看楼主
pjtyzyq
Rank: 4
等 级:业余侠客
威 望:6
帖 子:230
专家分:240
注 册:2016-2-14
结帖率:100%
已结贴  问题点数:20 回复次数:15 
求编程方案
现有一台设备,其中有一台电机、门开关,电机启停、门开关状态通过通讯取得,每0.1秒检测一次门开关状态,要求:
1、系统启动程序后,如果门处于开状态不发电机启动命令,关门后,得到门开光关闭状态才发电机启动命令;
2、电机正常启动后,如果打开门并且检测到门开关状态,发出停电机指令;关门后并检测到门开关状态,发出启动电机指令。此动作重复执行
3、(重点)在设备正常运行时,开门或关门时发一次相关电机指令,门开关状态未发生变化时(门开关状态0.1秒检测一次)不重发电机指令

目前我个人的方法是:设置一个变量a,其值为“0”或“1”,默认为“0”;门开关变量b,门关b=“0”,门开b=“1”。当门打开时:b=“1” and a=“0”,执行停电机命令,置a=“1”;当关门时:b=“0” and a=“1”,执行启动电机命令,置a=“0”。
感觉以上方法不是很好,所以希望各位版主及狐友帮助,给些编程思路或方案。
搜索更多相关主题的帖子: 开关 状态 检测 启动 指令 
2019-02-16 08:31
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:5 
排除相关接口问题
就是用定时器,检测重要的开关状态,当开关状态发生变化时,驱动相关接口。
你如果方便,你可以自己画张原理图,然后看看,合不合理
2019-02-16 11:58
pjtyzyq
Rank: 4
等 级:业余侠客
威 望:6
帖 子:230
专家分:240
注 册:2016-2-14
得分:0 
回复 2楼 mywisdom88

在两个判断框内如何制定方案才符合需求?

[此贴子已经被作者于2019-2-16 16:41编辑过]

2019-02-16 16:07
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:5 
楼主这个项目适合用单片机来解决,用PC来做的话还必须解决端口驱动的问题。

活到老,学到老! http://www. E-mail:hu-jj@
2019-02-16 16:10
pjtyzyq
Rank: 4
等 级:业余侠客
威 望:6
帖 子:230
专家分:240
注 册:2016-2-14
得分:0 
回复 4楼 hu9jj
因为涉及设备的控制需求必须由上位机解决
2019-02-16 16:12
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
主要控制方面是定时器,系统的“定时器”并不定时,如果对“定时”的要求不高,VFP的定时器控件就可以。
2019-02-17 07:33
pjtyzyq
Rank: 4
等 级:业余侠客
威 望:6
帖 子:230
专家分:240
注 册:2016-2-14
得分:0 
回复 6楼 吹水佬
不涉及定时问题,采集数据及处理数据只需要0.1秒时间,是自动循环处理的,帖子中的0.1s主要是想强调实际一个循环的时间。主要问题是:由于开门或关门是随机事件,所以需要对门开关状态每个循环监测一次,门状态发生变化时向电机发一次电机指令,不希望程序每个循环都向电机发送启或停指令。

[此贴子已经被作者于2019-2-18 07:44编辑过]

2019-02-17 13:58
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:5 
你的流程图中 分解数据 是个方块,方块只能是一进一出,你一进二出,就有问题了

只求每天有一丁点儿的进步就可以了
2019-02-17 16:45
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 7楼 pjtyzyq
循环读数据和处理数据:
do while .t.
    读数据
    数据处理
    inkey(0.1)
enddo
2019-02-18 06:09
pjtyzyq
Rank: 4
等 级:业余侠客
威 望:6
帖 子:230
专家分:240
注 册:2016-2-14
得分:0 
回复 8楼 wengjl
数据分解方块确实是一进二出,一部分数据需要继续处理,另一部分就是门开关状态,需要另行处理(控制电机启停),而方案就是针对这部分而言,希望这个功能与“interactivechange”类似,建立一个text目标,将门开关状态赋值给他,利用他的interactivechange也可以实现我的要求。
2019-02-18 07:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493087-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.302651 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved