c#调度采集逻辑1
一、调度过程
startFanuc1Task--->executeCollectFanucTaskWithLock--->executeCollectFanucTask,executeCollectFanucTask为执行业务的线程
二、机床采集
if (no == 1) { string fanucServer = string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["fanucServer"]) ? "127.0.0.1" : ConfigurationManager.AppSettings["fanucServer"]; string fanucPort = string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["fanucPort"]) ? "80" : ConfigurationManager.AppSettings["fanucPort"]; DateTime? dateTime = await executeCollectFanucTask(fanucServer, fanucPort, "M0101", no, lastLife0, isFirstCollect, "isFirstCollect1", log1,lastTime1); lastTime1 = dateTime; }
private DateTime? lastTime1;
1、DeviceConfig 配置表
DeviceConfig config = db.Queryable<DeviceConfig>().Where("CONFIG_KEY = @key", new { @key = "schedulingCode" }).First();


SELECT * FROM `dev_config` where CONFIG_KEY ='schedulingCode'

1900821599838212098
2、ProScheduling 工单排程表
ProScheduling scheduling; if (config != null) { scheduid = Convert.ToInt64(config.CONFIG_VALUE); if (scheduid != 0) { scheduling = db.Queryable<ProScheduling>().Where(u => u.scheduling_id == scheduid).First(); } else { scheduling = db.Queryable<ProScheduling>().Where(u => u.scheduling_execute != null).OrderByDescending(u => u.scheduling_id).First(); } } else { scheduling = db.Queryable<ProScheduling>().Where(u => u.scheduling_execute != null).OrderByDescending(u => u.scheduling_id).First(); }

选中一条记录,点击右下角这个按钮

,可以切换显示格式,如下

long productId = scheduling.item_id;//获取产品id
1804379028940836865
3、ProRouteProduct 产品制程表

long productId = scheduling.item_id;//获取产品id ProRouteProduct proRouteProducts = db.Queryable<ProRouteProduct>().Where(u => u.item_id == productId).First();
1804379028940836865

取得route_id
1888769067312881665
4、ProRouteProcess 工艺组成表
ProRouteProcess proProcess = db.Queryable<ProRouteProcess>().Where(u => u.route_id == proRouteProducts.route_id && u.mark_process == 10).First();//取op10环节

SELECT * FROM `pro_route_process` where mark_process =10 And route_id =1888769067312881665

取得:
process_id
1888769938876669954
5、MdWorkstation 工作站表

MdWorkstation workStation = db.Ado.SqlQuery<MdWorkstation>(@"select * from md_workstation where process_id= @process_id", new { @process_id = proProcess.process_id }).FirstOrDefault();//获取工作站

6、DvMachinery 设备表


7、DvMachineryLog 设备状态记录表

8、机床链接
fanucServer :192.168.10.134
fanucPort :8193
timeout :10
short ret = Focas1.cnc_allclibhndl3(fanucServer, Convert.ToUInt16(fanucPort), Convert.ToInt32(timeout), out h);

标题中的“fanuc focas机床采集资料和demo”指的是Fanuc公司提供的Focas(Factory Automation Open Connectivity and Services)框架,这是一个用于数控机床(CNC)数据采集和监控的软件接口。Fanuc是全球知名的数控系统制造商,Focas允许开发者通过编程方式获取机床的状态、性能数据以及进行远程控制。

ip和端口报错
浙公网安备 33010602011771号