假设一个产品状态实时显示系统的问题想联网,实时监控各步骤工程的产出数,不良率,以及每个产品的修理情况用
假设一个产品状态实时显示系统的问题
想联网,实时监控各步骤工程的产出数,不良率,以及每个产品的修理情况
用什么方式好呢?
1、主机建数据库, 所有子机都直接操作数据库?
2、主机建数据库,子机先把消息送给主机程序,然后主机程序处理后操作数据库
3、子机都有文件数据库(例如mdb或csv),主机需要数据时读取子机
4、更好的方法。
请大家讨论下这样的利弊,好不?
[最优解释]
首先表示强烈鄙视!!!你以为泡茶馆,先天南海北地胡扯一通?
只要是真正的服务器数据库(SQL Server、Oracle、DB2……),供多用户访问是它们的本职工作,没有任何压力。
除非你把一个 Access 的 .mdb 文件共享在服务器上,冒充“数据库服务器”供多用户访问,才需要担心你上面提到的问题。
[其他解释]既然是实时监控,那么肯定落脚点在如何将数据实时更新到服务器上,不得不考虑服务器挂掉或者库连不上时候的意外处理
应该采取以服务器数据库访问为主,本地数据库访问为辅的方式 可能会更好一点
如果是这样,只需要保证服务器与本地数据的实时更新即可
[其他解释]你的问题其实是具体的操作细则了。
假如你认为网络没有人工可靠,那么发起计划的人给每个产品贴一个标签,按次序列出所有的工程——(其实标签本来就需要的,否则怎么确定每个产品的编号)。
每个工程加工一个产品后除了上传加工记录,还需要在标签上打勾。
那么工程C只要在接收待加工产品时,检查标签上之前的工程是否都打勾了,就能保证按计划执行了。
[其他解释]2、主机建数据库,子机先把消息送给主机程序,然后主机程序处理后操作数据库
比较靠谱
[其他解释]既然现状(不联网)是可以正常生产的,上工程与下工程之间不直接传输数据是可以的。
在流水线生产中,每一道工序输入什么、输出什么都是确定的。
这些数据可以在开工前、排任务时就能下发到各工程的。
各工程只需要实时上传加工结果。
比如:
主机创建任务记录 {任务C01,工程C,批次01,加工要求}。
分支将该任务取到本地。
然后加工一个就上传一个加工记录
{任务C01,产品编号001,合格}
{任务C01,产品编号003,合格}
{任务C01,产品编号004,报废}
这里没有产品编号002,说明在前面的哪道工程中做坏了。
但是对工程C来说,不需要关心该信息;这里只要按实际到手的产品进行加工、记录。
[其他解释]不就是个C/S结构么?
[其他解释]能否实现软件自动监控,依赖与实际操作的执行能力。
人工操作必须严格、有序的。
如果不把现有的流程理顺,以外靠软件就能管起来,那是妄想。
[其他解释]怎么没人回复呢? 是范围太大了??
[其他解释]那就是第3种方案了是吧? 服务器建立数据库,分机自己先把数据保存在本地,服务器定时把数据更新上去。
但会延时怎么办呢,更新时间(事件)应该怎么决定呢? 就是下工程需要上工程的数据,但数据又恰好没上传
[其他解释]那就是第3种方案了是吧? 服务器建立数据库,分机自己先把数据保存在本地,服务器定时把数据更新上去。
但会延时怎么办呢,更新时间(事件)应该怎么决定呢? 就是下工程需要上工程的数据,但数据又恰好没上传
有人回答么??
[其他解释]顶下先, 大家快来接分啦
[其他解释]既然联网管理,当然首先是任务分派——主管安排好任务,生成各工序的清单,下发到各分支。
然后才是监控——各分支更新自己的任务清单,递交给主管。
所以分支之间不需要发生数据关系。
分支需要完成的任务,是上级分派下来的,所有必要的信息加工前就已经得到了。
[其他解释]我大概明白你的意思,但是上工程与下工程之间是紧接着的,所以当然需要实时更新数据啦 。分支之间是不需要联系,但要和数据库联系吧 ,我的问题主要就是这个联系的架构应该怎么建立比较好(效率,稳定)
[其他解释]
谢谢你的回答,这思路挺好的,但针对我的实际情况,生产没有那么理想有序(有很多堆积,返修等,开始时无法知道具体的生产计划情况),我想加分再追问:
工程C 还需要知道有没有通过工程B的工序,所以当产品完成工程B后,工程C才能获取工程B的任务
“这些数据可以在开工前、排任务时就能下发到各工程的” 这样应该不符合我的要求吧??
不知道我的理解有没有错
[其他解释]要看信息的采集方式、流水线的速率、监控实时程度对工艺控制的实际作用,等等。
仅仅上述的信息,是不够的。
[其他解释]信息采集方式很灵活,可以给个界面人工按, 有些时候是查找测量数据判断是否OK,我已经准备好为每个工程准备一个不同的客户端了。
流水线的速率的话 不快,30秒一个
监控主要目的是:给每个产品一个编号,根据编号实现下面功能
1、实现生产线的数据管理以及制品的生产的履历管理
2、实现制品生产过程中的漏检/错判的防错功能(实时主要为了这个)
3、实现生产线品质的即时查询功能,以及统计分析功能
4、实现制品出荷后的追溯查询功能
[其他解释]现有流程是因为存在不良品,需要返修, 所以例如一天投入500台,产出400台,而且这不良的100台还不一定修得好,可能会报废。所以一天开始时想把所有任务(就是要做的镜头的编号都确定那比较难)
但我们可以记录每台出货产品的信息,只要有出货,我们就写入数据库,通过数据库查找以前的检测数据。
我这帖子只是问下怎么架构C/S比较有效率与安全。例如我要查找某产品是否在前工程已经做好,就一定要访问主机数据库,那数据多的时候会不会很慢呢?有什么解决方案呢?
[其他解释]为什么这样比较好呢? 通信用tcp/ip通信么? 会不会有数据丢失的情况? 那主程序是不是要编个消息排队处理呢?
[其他解释]OK 是我问多了,但我主贴的问题没人解答,我才一步一步地把问题剖析……
言下之意,是支持第一种选择了 “ 1、主机建数据库, 所有子机都直接操作数据库”