You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
4.5 KiB

20130510:
1、服务端的数据库连接统一初始化,在CommonClassLib.AppSettings.cs定义一次并且初始化一次;
线程WcfControlMonitorLib.CParsePLCData.cs和SocketsTCPIP.CClientTCPIP.cs查询还是使用类内部声明和初始化的数据库连接实例
2、使用OPC.UA代替OPC.DA,服务端的OPCClient替换为UA协议的项目即可;客户端的wcfControlMonitorClient项目,删除CCommonOPCClient.cs,引用UA协议OPCClient即可。
3、在没有客户端登陆到服务端的时候,有报警在服务端界面增加显示
4、t_base_PLCAsk表新增加字段:向管理IO_CONTROL_APPLY表插数据时:库房F_WareHouse对应WAREHOUSE_CODE,申请类型F_ManageAskkind对应CONTROL_APPLY_TYPE
20130620:修正CDisassembleTask.cs的多个出库任务获取服务端变慢的bug;
20130704:
1、多叉关联任务的逻辑预约锁的修正,在\WcfControlMonitorLib\CControl.cs的GetFirstDeviceIFLocked函数增加关联任务编号>0的判断;
2、取货空和送货重复的自动处理的多叉关联的修正在\WcfControlMonitorLib\CGetState.cs的ActionError函数增加关联任务编号>0的判断;
3、发送任务之前的多叉关联的配叉,取任务距离原点最小距离时,只考虑列值,不再考虑层坐标。在\Model\CGeneralFunction.cs的函数GetMinZeroDistanceTask(int[] mtasks , Model.MDevice devinfo, int devOrder,out int mintask ,out double minDist)
20130709:对条码扫描入库申请任务或者条码比对任务,增加在发送任务之前条码比对,不正确拒绝发送。获取任务时,不要清空t_base_PLCAsk表记录的条码;在发送提前检测时对条码申请站台增加条码比对,t_base_PLCAsk表站台所记录的条码与任务一直符合发送条件,否则执行检测未通过提示“条码不正确”
20130817:增加客户端显示每层楼PLC的连接状态;断网恢复的数据再订阅处理(在【PLC初始化】里实现)
20140109:堆垛机取货时检查此站台是否被此堆垛机任务预约;保留AGV、RGV、堆垛机接驳口的输送机的条码;关于条码申请的改进;
20140218:调整给管理系统上报条码时断网或者数据提交异常,只在黑匣子记录扫描条码,不在本地数据库存储,在异常恢复后点击【系统初始化】-【PLC初始化】重新申请;上报成功后在本地存储条码;并且在客户端界面上显示读到码和已经上报的条码;
20140309:修改堆垛机取货输送机判断管理任务号和预约任务号是否一致
20140423:CControl类的AheadDetectOK函数的【#region 双叉堆垛机的取货任务在此判断是否关联双叉、验证双叉任务是否为双叉极限货位】程序段两处ccf.ChangeEndCellCode倒叉更换货位以后需要增加return false;如果不返回false,还会使用原来的坐标继续发送
20140514:OPCClient\CCommonOPCClient.cs 的DisConnectOPCServer增加: _IfConnectOPCServer = false;张博在山东电力发现此问题张博在山东电力发现此问题
如果调度记录叠盘机已叠箱的条码,需要在叠箱机下面的辊道输送机完成时,判断条码至叠盘机的任务的先后顺序
20140810:张宇修正客户端的timerFlash_Tick事件的try之前增加this.SuspendLayout(); finally块中增加this.ResumeLayout(); 优化客户端每次更改都刷新,改为整体刷新一次
20140824:
1、修改客户端和服务端的心跳检测方式,修改客户端的配置文件app.config中的<netTcpBinding>项下的receiveTimeout="23:59:59",减少客户端和服务端的交互;
timer1 的interval改为3600000
2、客户端增加接收服务端广播的【获取任务和打开命令开关】的函数public void SendOrderMessage(Model.MonitorInfo mi);
public IAsyncResult BeginSendOrderMessage(Model.MonitorInfo mi, AsyncCallback callBack, object state);public void EndSendOrderMessage(IAsyncResult ar);
服务端的IControlMonitor.cs类的interface IClient增加契约的接口void SendOrderMessage( Model.MonitorInfo mi);
IAsyncResult BeginSendOrderMessage(Model.MonitorInfo mi, AsyncCallback callBack, object state); void EndSendOrderMessage(IAsyncResult ar);
服务端的FrmHost.cs类的timer1_Tick函数的Model.MonitorInfo mi;修改为FrmHost类级变量
SendMessageToClient函数修改如下:
if (strmessage == "巡检客户端")
{
cl.BeginSendOrderMessage(mi, new AsyncCallback(SendOrderMessageCallback), mi);
}
else
{
cl.BeginSendMessage(strmessage, new AsyncCallback(sendMessageCallback), strmessage);
}
3、XP操作系统和WIN7的NameSpaceIndex代码区别:OPCClient.CCommonOPCClient.cs的ConnectOPCServer和CreateSubscriptionGroup
20141110:
1、win7以后版本的64位操作系统与32位操作系统对datatype的要求,OPCClient.CCommonOPCClient.cs的SyncWriteAllItemValue向PLC写数据时必须指定具体数据类型,增加对写入后返回值数组的成功标记的判断
2、建立读PLC的订阅时MonitoringMode的改变,OPCClient.CCommonOPCClient.cs的不再使用Sampling:
修改为monitoredItem.MonitoringMode = MonitoringMode.Reporting;//richard.liu20141110
3、ClientAPI.cs的AddSubscription函数innerSubscription.MaxNotificationsPerPublish = 1000;//每次订阅返回,订阅组最大数的限制richard.liu20141110
20141118:
1、win7以后版本的64位操作系统与32位操作系统对datatype的要求,OPCClient.CCommonOPCClient.cs的SyncWriteAllItemValue向PLC写数据时必须指定具体数据类型,修正误把sValue当做item