Commit 3142a26b 张东亮

上料口发送rfid更改

1 个父辈 c1867010
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
此文件类型无法预览
<?xml version="1.0"?>
<doc>
<assembly>
<name>Client</name>
</assembly>
<members>
<member name="T:Asa.Client">
<summary>
电脑客户端
</summary>
</member>
<member name="F:Asa.Client.HEART">
<summary>
心跳包,HEART
</summary>
</member>
<member name="F:Asa.Client.SERVER_OFF">
<summary>
服务器关闭,OFF
</summary>
</member>
<member name="F:Asa.Client.CLIENT_OFF">
<summary>
客户端关闭,OFF
</summary>
</member>
<member name="T:Asa.Client.ActionEvent">
<summary>
小车动作事件
</summary>
</member>
<member name="E:Asa.Client.GetRFID">
<summary>
服务端发送的RFID
</summary>
</member>
<member name="E:Asa.Client.Arrive">
<summary>
小车到达,仅包装料仓
</summary>
</member>
<member name="E:Asa.Client.Ready">
<summary>
小车已准备,对接完成
</summary>
</member>
<member name="E:Asa.Client.CanEnter">
<summary>
能否进入,仅流水线
</summary>
</member>
<member name="T:Asa.Client.LogEvent">
<summary>
日志事件
</summary>
<param name="s"></param>
</member>
<member name="E:Asa.Client.Log">
<summary>
日志
</summary>
</member>
<member name="P:Asa.Client.IsConn">
<summary>
是否连接服务器
</summary>
</member>
<member name="P:Asa.Client.RFID">
<summary>
RFID的内容
</summary>
</member>
<member name="M:Asa.Client.#ctor(System.String)">
<summary>
电脑客户端
</summary>
<param name="serverIP">服务器IP地址</param>
</member>
<member name="M:Asa.Client.Connect(System.String[])">
<summary>
连接
</summary>
<param name="id"></param>
</member>
<member name="M:Asa.Client.Close">
<summary>
关闭
</summary>
</member>
<member name="M:Asa.Client.SendRFID(System.String,System.String)">
<summary>
发送RFID信息
</summary>
<param name="id"></param>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.NeedEnter(System.String,System.String)">
<summary>
需要进入料架(包装料仓)
</summary>
<param name="id"></param>
<param name="mark"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.NeedLeave(System.String)">
<summary>
需要出料架
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.MayEnter(System.String)">
<summary>
可以进入
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.FinishEnter(System.String)">
<summary>
完成进入
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.MayLeave(System.String)">
<summary>
可以出去
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.FinishLeave(System.String)">
<summary>
完成出去
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.IsEnter(System.String)">
<summary>
是否可以进入,仅用于CanEnter事件
</summary>
<param name="id">节点,可以多个</param>
<returns></returns>
</member>
<member name="M:Asa.Client.Send(System.Byte[])">
<summary>
发送命令
</summary>
<param name="buff"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.HexBuff(System.Byte[])">
<summary>
16进制
</summary>
<param name="buff"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.ListenNet">
<summary>
监听线程
</summary>
</member>
<member name="M:Asa.Client.Resolve">
<summary>
分析数据包
</summary>
</member>
<member name="M:Asa.Client.Splice(System.Byte,System.String,System.Byte[])">
<summary>
拼接命令
</summary>
<param name="code"></param>
<param name="id"></param>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.CheckRemoteIP(System.String)">
<summary>
检查远程IP地址
</summary>
<param name="ip"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.IsHeart(System.Byte[])">
<summary>
是否心跳包
</summary>
<param name="buff"></param>
<returns></returns>
</member>
<member name="M:Asa.Client.IsServerOffline(System.Byte[])">
<summary>
是否服务器断开
</summary>
<param name="buff"></param>
<returns></returns>
</member>
<member name="T:Asa.Client2">
<summary>
电脑客户端
</summary>
</member>
<member name="F:Asa.Client2.HEART">
<summary>
心跳包,HEART
</summary>
</member>
<member name="F:Asa.Client2.SERVER_OFF">
<summary>
服务器关闭,OFF
</summary>
</member>
<member name="F:Asa.Client2.CLIENT_OFF">
<summary>
客户端关闭,OFF
</summary>
</member>
<member name="T:Asa.Client2.ActionEvent">
<summary>
小车动作事件
</summary>
</member>
<member name="T:Asa.Client2.LogEvent">
<summary>
日志事件
</summary>
<param name="s"></param>
</member>
<member name="E:Asa.Client2.Arrive">
<summary>
小车到达,仅包装料仓
</summary>
</member>
<member name="E:Asa.Client2.Ready">
<summary>
小车已准备,对接完成
</summary>
</member>
<member name="E:Asa.Client2.CloseDoor">
<summary>
关门,仅包装料仓
</summary>
</member>
<member name="E:Asa.Client2.EnterShelf">
<summary>
准备进入料架不能出料,仅包装料仓
</summary>
</member>
<member name="E:Asa.Client2.Log">
<summary>
日志
</summary>
</member>
<member name="M:Asa.Client2.#ctor(System.String)">
<summary>
电脑客户端
</summary>
<param name="serverIP">服务器IP地址</param>
</member>
<member name="P:Asa.Client2.IsConn">
<summary>
是否连接服务器
</summary>
</member>
<member name="P:Asa.Client2.CancelState">
<summary>
取消状态,true发送none,false发送实际状态
</summary>
</member>
<member name="P:Asa.Client2.SendLog">
<summary>
发送命令的日志是否打印,不影响其他日志
</summary>
</member>
<member name="P:Asa.Client2.SendSleep">
<summary>
发送命令的时间间隔(单位:秒)
</summary>
</member>
<member name="M:Asa.Client2.Connect">
<summary>
连接
</summary>
</member>
<member name="M:Asa.Client2.Close">
<summary>
关闭
</summary>
</member>
<member name="M:Asa.Client2.SetStatus(System.String,System.String,System.String,Asa.ClientAction,Asa.ClientLevel)">
<summary>
设置状态
</summary>
<param name="name">节点名称</param>
<param name="mark">节点标记</param>
<param name="rfid">架子RFID</param>
<param name="action"></param>
<param name="level"></param>
</member>
<member name="M:Asa.Client2.Splice(Asa.ClientNode)">
<summary>
拼接命令
</summary>
<param name="node"></param>
<returns></returns>
</member>
<member name="M:Asa.Client2.ListenNet">
<summary>
监听线程
</summary>
</member>
<member name="M:Asa.Client2.Resolve">
<summary>
分析数据包
</summary>
</member>
<member name="M:Asa.Client2.Send(System.Byte[])">
<summary>
发送命令
</summary>
<param name="buff"></param>
<returns></returns>
</member>
<member name="M:Asa.Client2.HexBuff(System.Byte[])">
<summary>
16进制
</summary>
<param name="buff"></param>
<returns></returns>
</member>
<member name="M:Asa.Client2.IsHeart(System.Byte[])">
<summary>
是否心跳包
</summary>
<param name="buff"></param>
<returns></returns>
</member>
<member name="M:Asa.Client2.IsServerOffline(System.Byte[])">
<summary>
是否服务器断开
</summary>
<param name="buff"></param>
<returns></returns>
</member>
<member name="T:Asa.ClientNode">
<summary>
客户端的节点
</summary>
</member>
<member name="F:Asa.ClientNode.Name">
<summary>
节点名称
</summary>
</member>
<member name="F:Asa.ClientNode.Mark">
<summary>
标记,用于包装料仓
</summary>
</member>
<member name="F:Asa.ClientNode.RFID">
<summary>
当前架子的RFID
</summary>
</member>
<member name="F:Asa.ClientNode.Action">
<summary>
动作
</summary>
</member>
<member name="F:Asa.ClientNode.Level">
<summary>
优先级
</summary>
</member>
<member name="M:Asa.ClientNode.#ctor(System.String,System.String,System.String,Asa.ClientAction,Asa.ClientLevel)">
<summary>
客户端节点
</summary>
<param name="name"></param>
<param name="mark"></param>
<param name="rfid"></param>
<param name="action"></param>
<param name="level"></param>
</member>
<member name="T:Asa.ClientAction">
<summary>
客户端的动作
</summary>
</member>
<member name="F:Asa.ClientAction.None">
<summary>
没有动作
</summary>
</member>
<member name="F:Asa.ClientAction.CloseDoor">
<summary>
包装料仓关门
</summary>
</member>
<member name="F:Asa.ClientAction.MayEnter">
<summary>
可以进入料架,Arrive事件使用,让小车开始对接
</summary>
</member>
<member name="F:Asa.ClientAction.MayLeave">
<summary>
可以出去料架,Arrive事件使用,让小车开始对接
</summary>
</member>
<member name="F:Asa.ClientAction.NeedEnter">
<summary>
需要进入料架
</summary>
</member>
<member name="F:Asa.ClientAction.NeedLeave">
<summary>
需要出去料架
</summary>
</member>
<member name="F:Asa.ClientAction.FinishEnter">
<summary>
完成进入料架
</summary>
</member>
<member name="F:Asa.ClientAction.FinishLeave">
<summary>
完成出去料架
</summary>
</member>
<member name="F:Asa.ClientAction.Arrive">
<summary>
小车到达,到达包装料仓门口,等待开门
</summary>
</member>
<member name="F:Asa.ClientAction.Ready">
<summary>
小车已准备,已对接上流水线
</summary>
</member>
<member name="F:Asa.ClientAction.EnterShelf">
<summary>
包装料仓只能入料不能出料
</summary>
</member>
<member name="T:Asa.ClientLevel">
<summary>
客户端的优先级
</summary>
</member>
<member name="F:Asa.ClientLevel.Low">
<summary>
</summary>
</member>
<member name="F:Asa.ClientLevel.Middle">
<summary>
中等
</summary>
</member>
<member name="F:Asa.ClientLevel.High">
<summary>
</summary>
</member>
</members>
</doc>
......@@ -8,7 +8,7 @@
<add key="App_AutoRun" value="1" />
<add key="App_Title" value="料架缓存线" />
<!--Server address-->
<add key="http.server" value="http://10.85.162.124/myproject/" />
<add key="http.server" value="http://10.21.69.201/smdbox/" />
<!--storeType-->
<add key="store_count" value="1" />
<!--start one store config-->
......@@ -19,14 +19,17 @@
<add key="DIMS" value="60" />
<add key="DOMS" value="300" />
<!--AGV调度服务器地址-->
<add key="AgvServerIp" value="10.85.162.40" />
<add key="AgvServerIp" value="127.0.0.1" />
<add key="AgvServerPort" value="9501" />
<!--是否调试状态-->
<add key="IsInDebug" value="0" />
<add key ="Agv_Log_Open" value ="1"/>
<add key="Agv_Log_Open" value="1" />
<!--RFID服务端端口-->
<add key="RfidServer_Port" value="13001" />
</appSettings>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="logs/vmiLine.log" />
<file type="log4net.Util.PatternString" value="logs/Line.log" />
<param name="Encoding" value="UTF-8" />
<appendToFile value="true" />
<param name="MaxSizeRollBackups" value="30" />
......@@ -37,17 +40,16 @@
</layout>
</appender>
<appender name="TheRFID" type="log4net.Appender.RollingFileAppender">
<file value="logs/TheRFID.log"/>
<file value="logs/TheRFID.log" />
<param name="Encoding" value="UTF-8" />
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<appendToFile value="true" />
<rollingStyle value="Date" />
<param name="MaxSizeRollBackups" value="30" />
<datePattern value="yyyy-MM-dd"/>
<datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n" />
</layout>
</appender>
<logger name="RollingLogFileAppender">
<level value="Info" />
<appender-ref ref="RollingLogFileAppender" />
......@@ -62,7 +64,7 @@
</root>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
......
......@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.ACSingleStore</RootNamespace>
<AssemblyName>CacheLineClient</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<PublishUrl>publish\</PublishUrl>
......
......@@ -217,9 +217,9 @@
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAHBwcAAAAAABTU1QAqqqrAP///wAAAAALWVxdHnl8fTmGiIlQio2NXouN
jl+KjY5gio2OYImLjF+ChIVSbnFyPkVISCcAAAAYAAAADwAAAA4AAAAQAAAAEQAAABIAAAASAAAAEgAA
ABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAASAAAAEgAAABEAAAAQAAAADwAAAA4AAAAMAAAACwAA
AAsAAAAKAAAACQAAAAgAAAAHAAAABgAAAAYAAAAFAAAABAAAAAQAAAADAAAAAwAAAAIAAAACAAAAAgAA
jl+KjY5gio2OYImLjF+ChIVSbnFyPkVISCcAAAAYAAAADwAAAA4AAAAQAAAAEQAAABIAAAAgvAAAEgAA
ABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAgvAAAEgAAABEAAAAQAAAADwAAAA4AAAAMAAAACwAA
AAgvAAAKAAAACQAAAAgAAAAHAAAABgAAAAYAAAAFAAAABAAAAAQAAAADAAAAAwAAAAIAAAACAAAAAgAA
AAEAAAABAAAAAQEBAQEAAAAAi4qJAIKCfwAAAAADa2ppHYKBfk+KiYeTmZmX0qippvS8vbv/zcrI/87A
vP+9m5f/oGhi/4pDPP+AMSr/gTMs/8KopP/HyMX/q5OP/6yalv5+f33MCAgHigAAAFwAAAAbAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
......@@ -228,7 +228,7 @@
Fw54e3w2pqmqb8XFxqfPysrO2tHR6NjKyPPPurj3yrKw98qysPfKsrD3zbi199fHxfPXzczpysTE0bm4
ua+Nj5CATU9PUwUGBjYAAAAtAAAALgAAAC8AAAAwAAAAMAAAADEAAAAxAAAAMQAAADEAAAAxAAAAMQAA
ADAAAAAvAAAALgAAAC0AAAArAAAAKQAAACcAAAAlAAAAIwAAACEAAAAeAAAAHAAAABoAAAAYAAAAFgAA
ABQAAAATAAAAEQAAAA8AAAAOAAAADAAAAAsAAAAKAAAACAAAAAcAAAAEAAAAAQAAAARNTEsaaWlnTH59
ABQAAAATAAAAEQAAAA8AAAAOAAAADAAAAAgvAAAKAAAACAAAAAcAAAAEAAAAAQAAAARNTEsaaWlnTH59
e5OQkI7Spqak9Lq7uf/Mysf/0MPA/7+fm/+ia2b/i0Q9/4I1Lv+BNC3/gzYw/4I1Lv+CNS7/v6Of/8TE
wv96Uk7/bTs2/7Oppvtqa2m5AAAAggAAAG4AAAAyAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
......@@ -236,7 +236,7 @@
AAAAAAAAEBAQAAAAAABlZWYA////AEhJShqanJ1cxsbHqtjPz+PQubf6vpeS/6dwa/+YWVL/kU1G/4xF
Pv+KQTr/ikE6/4pBOv+MQzz/kEtD/5dWT/+kamX/uY6K/8qwrfvPxMTosK+vvGttboMXFxhVAAAARQAA
AEUAAABGAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARgAAAEYAAABGAAAARQAAAEQAAABCAAAAQAAA
AD4AAAA7AAAAOQAAADYAAAA0AAAAMQAAAC8AAAAsAAAAKgAAACcAAAAkAAAAIgAAAB8AAAAcAAAAGgAA
AD4AAAA7AAAAOQAAADYAAAA0AAAAMQAAAC8AAAAgvAAAKgAAACcAAAAkAAAAIgAAAB8AAAAcAAAAGgAA
ABYAAAARAAAAETk4NyRdXFtPdHNyj4eGhc2enpzztbWz/8jGw//MwL3/vqCc/6FtZ/+MR0D/gjUu/4Ez
Lf+FOTL/iD85/4xEPv+LQz3/hTs0/4I1Lv+9oZz/xMTC/35ZVf9VGhX/f1VR/7WvrPVUVFOlAAAAeQAA
AHMAAABIAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
......@@ -244,7 +244,7 @@
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAoKCgA////ADU2NxScn59f0M7Ov9nK
yPW/mJX/nWBa/4xEPP+GOzP/hjoy/4c7NP+HPDX/hz01/4g9Nf+IPTX/iD01/4c8Nf+HPDT/hjs0/4U5
Mv+FOTL/iUA5/5hYUf+3jIf/0L2797u4uM9pa2uLDAwMWAAAAEsAAABMAAAATQAAAE0AAABNAAAATQAA
AE0AAABMAAAATAAAAEwAAABMAAAATAAAAEsAAABJAAAASAAAAEYAAABEAAAAQQAAAD8AAAA9AAAAOgAA
AE0AAABMAAAATAAAAEwAAABMAAAATAAAAEsAAABJAAAAgvAAAEYAAABEAAAAQQAAAD8AAAA9AAAAOgAA
ADgAAAA1AAAAMwAAADAAAAAtAAAAKQAAACQAAAAjIyMjMk1NTFlpaWeVfn170ZOTkvOqq6n/vry6/8S7
t/+4nZn/n21o/4lGQP9/NC3/fjIr/4I3Mf+HPjf/i0Q9/49JQ/+STkj/lVNN/5JOSP+IPzj/gjUu/7qc
l//Dw8H/fVlV/1YcF/9YHxr/kXBr/6+tquo8PDuPAAAAbgAAAG8AAABYAAAAIwAAAAIAAAAAAAAAAAAA
......@@ -253,10 +253,10 @@
BgAAAAAAcXFyAAAAAAWEhoZDycjIsNfHxvO3jIf/lFFK/4c8Nf+HPDT/iD42/4g/N/+JPzf/iT83/4k/
N/+JPzf/iD83/4g+N/+IPjf/iD43/4g+N/+IPjb/iD42/4g9Nv+IPTX/hjsz/4Y6Mv+PSUL/r314/8y4
tvavra3ER0lJdwAAAE8AAABMAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATAAA
AEsAAABKAAAASAAAAEYAAABEAAAAQgAAAEAAAAA+AAAAOwAAADkAAAA1AAAAMAAAAC8dHRw+Pz8+YF9e
AEsAAABKAAAAgvAAAEYAAABEAAAAQgAAAEAAAAA+AAAAOwAAADkAAAA1AAAAMAAAAC8dHRw+Pz8+YF9e
XZh1dXPRi4uJ86ChoP+0s7H/u7Kv/7KZlf+abGf/hUZA/3ozLP95MCn/fjUv/4I7Nf+HQTv/i0dB/49M
Rf+RT0n/kk9J/5NQSv+VVE7/k1BK/4lAOv+BNCz/tI+L/8bHxf+FZGD/Vx0Y/1ggGv9dJSD/pIyH/6Sk
ot0pKSh9AAAAZQAAAGYAAABdAAAANQAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ot0pKSh9AAAAZQAAAGYAAABdAAAANQAAAAgvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKCgAAAAAAP///wAyMzQVq62teNnS0uHDn5v/lVNM/4c8
Nf+IPjb/iUA4/4pAOP+JQDj/iUA4/4lAOP+JQDj/iT84/4lAOP+JPzj/iT84/4k/OP+JPzj/iT83/4k/
......@@ -278,7 +278,7 @@
AAAAAAAAAAAAAAAAAAAAAAAAAAAAADU1NgASEhIAAAAAAHl6ezzU09PHz7Wy/5hXUP+IPjb/ikE5/4tC
Ov+LQjr/i0I6/4tCOv+LQjr/i0I6/4tCOv+LQjr/i0I6/4pCOv+KQTr/ikI6/4tBOv+KQTn/ikE5/4pB
Of+KQTn/ikE5/4pAOf+KQDn/iUA4/4lAOP+JPzj/iT84/4k/OP+JPzf/hzs0/5BLRP/Bnpr/vLm50jw9
PnEAAABMAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABLAAAASAAAAEcPDw9SLS0sb0tL
PnEAAABMAAAATQAAAE0AAABNAAAATQAAAE0AAABNAAAATQAAAE0AAABLAAAAgvAAAEcPDw9SLS0sb0tL
SqFgYF7SdHRy84iIhv+ampj/o56b/56Mif+LZ2P/d0I9/2wuKP9rKiT/bi0n/3IzLf92ODL/ez04/39C
Pf+CRkD/hEhC/4VHQf+ERD7/gkA6/4A7Nf9/ODH/fzUu/380Lf+AMyz/gTMs/4Q4Mf+MRT7/kU1H/4pC
O/+BMyz/sYiD/9PV0v+TeHT/Vx4Z/1kgG/9ZIRv/WSAb/1cdGP+HYFv/ura0+WVlZJgAAABOAAAATAAA
......@@ -358,7 +358,7 @@
Pf+KQTn/oWZg/8OysP9mPTn/XSgk/10pJf9dKCP/XCYi/1slIf9aJSD/WiQf/1okH/9bJB//WyQf/1wk
H/9dJSD/XiUg/18lIP9gJiH/YSYh/2InIf9jJyL/ZCgi/2YoI/9nKSP/aCkk/2oqJP9rKiX/biwm/3Qu
KP97MSr/fzIr/4EzLP+BMyz/gTMs/4EzLP+BMyz/gTMs/4I1Lv+JQTr/kU1G/41GQP+CNS7/m2Fa/87M
yf+vn5z/XSch/1kgG/9ZIRv/WSEb/1khG/9XHhj/dEhD/6ejoe5SUlFHAAAAEwAAABQAAAASAAAAEAAA
yf+vn5z/XSch/1kgG/9ZIRv/WSEb/1khG/9XHhj/dEhD/6ejoe5SUlFHAAAAEwAAABQAAAAgvAAAEAAA
AA4AAAAMAAAACgAAAAgAAAAGAAAABAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAPj4+AAAAAAm/wMCb0Lez/5NORv+RSkL/kEpE/6BbP/+skSf/g48V/3ts
Lv+QT0H/k0xF/5NMRf+OWET/eKxk/2mzV/9qt2D/b7ts/12dPf9usmL/dcB3/5CKUP/Yqnz/06dq/8eU
......
......@@ -87,7 +87,7 @@
//
this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
this.notifyIcon1.Text = "VMI流水线客户端";
this.notifyIcon1.Text = "料架缓存客户端";
this.notifyIcon1.Visible = true;
//
// contextMenuStrip1
......
......@@ -369,7 +369,7 @@ namespace OnlineStore.VMILineClient
private void btnNeedLeave_Click(object sender, EventArgs e)
{
AgvClient.NeedLeave(txtname.Text, txtShelfId.Text);
// AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedLeave);
// AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Agv.ClientAction.NeedLeave);
}
private void btnNeedEntry_Click(object sender, EventArgs e)
......
......@@ -220,10 +220,10 @@
zwD73dAA/OTZAP3p4AD46+cA++/pAPzw6wD98uwA/fbyAP39/QAAAAAALwMAAFAEAABwBgAAkAkAALAK
AADPDAAA8A4AAP8gEgD/PjEA/1xRAP96cQD/l5EA/7axAP/U0QD///8AAAAAAC8ADgBQABcAcAAhAJAA
KwCwADYAzwBAAPAASQD/EVoA/zFwAP9RhgD/cZwA/5GyAP+xyAD/0d8A////AAAAAAAvACAAUAA2AHAA
TACQAGIAsAB4AM8AjgDwAKQA/xGzAP8xvgD/UccA/3HRAP+R3AD/seUA/9HwAP///wAAAAAALAAvAEsA
UABpAHAAhwCQAKUAsADEAM8A4QDwAPAR/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsA
TACQAGIAgvB4AM8AjgDwAKQA/xGzAP8xvgD/UccA/3HRAP+R3AD/seUA/9HwAP///wAAAAAALAAvAEsA
UABpAHAAhwCQAKUAgvDEAM8A4QDwAPAR/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsA
LwAtAFAAPwBwAFIAkABjALAAdgDPAIgA8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx/wDr0f8A////AAAA
AAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP//
AAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAgvPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP//
/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AgkJAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCY6MCQIAAAAAAAAA
......@@ -280,15 +280,15 @@
iAD3ro0A97GRAPe0lgD4tpgA97ibAPi5ngD3u6EA97yiAPi7oAD4vaIA+b6kAPnApwD4w6sA+cStAO3G
uQD5xrAA+ciyAPnJtAD5zbgA+tC+APTOwAD608EA+dXFAPvZyQD72swA+9zNAPzi1gD86N8A/Pn3APr6
+gD9+vkA/Pz7AP39/QBQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/S
sQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+X
sQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAgvoAAM8MAADwDgAA/yAgvP8+MQD/XFEA/3pxAP+X
kQD/trEA/9TRAP///wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9x
nAD/kbIA/7HIAP/R3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9R
xwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx
/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR
xwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAgvC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx
/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAgvB2AM8AiADwAJkR
/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA
8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x/wDa0f8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAASAfAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCQjh8AAAAA
AAAAAAAAAAAAAAAAAgvfAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCQjh8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCQkZGQHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAACCQkZGRkZAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQ1MyglFBAGACCOn5GfkZ+fjx8A
BRAVJSgzNSQAAAAAAAAAAAAAAAA1UEY2JhMJACCQkZGfkZGfn5GQHwAJEyY2SFI1AAAAAAAAAAAAAAAA
......@@ -331,11 +331,11 @@
AACQdAAAsI4AAM+pAADwwwAA/9IRAP/YMQD/3VEA/+RxAP/qkQD/8LEA//bRAP///wAAAAAALxQAAFAi
AABwMAAAkD4AALBNAADPWwAA8GkAAP95EQD/ijEA/51RAP+vcQD/wZEA/9KxAP/l0QD///8AAAAAAC8D
AABQBAAAcAYAAJAJAACwCgAAzwwAAPAOAAD/IBIA/z4xAP9cUQD/enEA/5eRAP+2sQD/1NEA////AAAA
AAAvAA4AUAAXAHAAIQCQACsAsAA2AM8AQADwAEkA/xFaAP8xcAD/UYYA/3GcAP+RsgD/scgA/9HfAP//
AAAvAA4AUAAXAHAAIQCQACsAgvA2AM8AQADwAEkA/xFaAP8xcAD/UYYA/3GcAP+RsgD/scgA/9HfAP//
/wAAAAAALwAgAFAANgBwAEwAkABiALAAeADPAI4A8ACkAP8RswD/Mb4A/1HHAP9x0QD/kdwA/7HlAP/R
8AD///8AAAAAACwALwBLAFAAaQBwAIcAkAClALAAxADPAOEA8ADwEf8A8jH/APRR/wD2cf8A95H/APmx
/wD70f8A////AAAAAAAbAC8ALQBQAD8AcABSAJAAYwCwAHYAzwCIAPAAmRH/AKYx/wC0Uf8AwnH/AM+R
/wDcsf8A69H/AP///wAAAAAACAAvAA4AUAAVAHAAGwCQACEAsAAmAM8ALADwAD4R/wBYMf8AcVH/AIxx
/wDcsf8A69H/AP///wAAAAAACAAvAA4AUAAVAHAAGwCQACEAgvAmAM8ALADwAD4R/wBYMf8AcVH/AIxx
/wCmkf8Av7H/ANrR/wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAADBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADUdHDQAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAANHZ2dHAwAAAAAAAAAAAAAAAAAAAAAAAgcICAgIBwIKR2lpb29GCgIICAgICAYCAAAAAAAA
......@@ -360,7 +360,7 @@
QADabkcA3m9FAN5wRgDTclQA2X1fAON2SwDkeE4A6H5RAOmBVgDpglgA7oZZAO6JXQDziVoA9IlbAPKL
XQDyjF0A7oxhAOWNbAD0j2EA85BkAPSRZADzlGoA9ZVqAPSYbgD2nHMA8Zp0APWfeAD2oXsA9qN9APak
fgD3qIUA96yLAPeujQD4tJUA6LWlAPi8oQDzxLEA+cewAPnJswD6zroA+s+8APvWxgD72MkA/N7QAPns
6AD+8u0A9fX1AP749QD9+vkA/v7+AP///wAAAAAAAC8OAABQGAAAcCIAAJAsAACwNgAAz0AAAPBKABH/
6AD+8u0A9fX1AP749QD9+vkA/v7+AP///wAAAAAAAC8OAABQGAAAcCIAAJAgvACwNgAAz0AAAPBKABH/
WwAx/3EAUf+HAHH/nQCR/7IAsf/JANH/3wD///8AAAAAAAIvAAAEUAAABnAAAAiQAAAKsAAAC88AAA7w
AAAg/xIAPf8xAFv/UQB5/3EAmP+RALX/sQDU/9EA////AAAAAAAULwAAIlAAADBwAAA9kAAATLAAAFnP
AABn8AAAeP8RAIr/MQCc/1EArv9xAMD/kQDS/7EA5P/RAP///wAAAAAAJi8AAEBQAABacAAAdJAAAI6w
......@@ -369,10 +369,10 @@
AACQPgAAsE0AAM9bAADwaQAA/3kRAP+KMQD/nVEA/69xAP/BkQD/0rEA/+XRAP///wAAAAAALwMAAFAE
AABwBgAAkAkAALAKAADPDAAA8A4AAP8gEgD/PjEA/1xRAP96cQD/l5EA/7axAP/U0QD///8AAAAAAC8A
DgBQABcAcAAhAJAAKwCwADYAzwBAAPAASQD/EVoA/zFwAP9RhgD/cZwA/5GyAP+xyAD/0d8A////AAAA
AAAvACAAUAA2AHAATACQAGIAsAB4AM8AjgDwAKQA/xGzAP8xvgD/UccA/3HRAP+R3AD/seUA/9HwAP//
/wAAAAAALAAvAEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR
AAAvACAAUAA2AHAATACQAGIAgvB4AM8AjgDwAKQA/xGzAP8xvgD/UccA/3HRAP+R3AD/seUA/9HwAP//
/wAAAAAALAAvAEsAUABpAHAAhwCQAKUAgvDEAM8A4QDwAPAR/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR
/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx
/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR
/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAgvPAAPhH/AFgx/wBxUf8AjHH/AKaR
/wC/sf8A2tH/AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGAAAAAAAAAAAA
AAAAAAAAAAAAAAAABjs7BgAAAAAAAAAAAAAAAAACAwMDAwIEOz8/OwQCAwMDAwIAAAAAAAADGhoaBwU7
Pz8/PzsFBxoaHAMAAAAAAAADGhoHBTs/Pz4/Pz87BQcfGgMAAAAAAAADGgcGOz0xHg0LES89OwUHGgMA
......@@ -396,11 +396,11 @@
AADC8AAA0f8RANj/MQDe/1EA4/9xAOn/kQDv/7EA9v/RAP///wAAAAAALyYAAFBBAABwWwAAkHQAALCO
AADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+
AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAG
AACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAA
AACQCQAAgvoAAM8MAADwDgAA/yAgvP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAA
FwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8A
IABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAA
AAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP//
/wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR
AAAgvC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP//
/wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAgvB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR
/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x
/wDa0f8A////AAAAAAAAAAAXFwAAAAAAAAAAAAAAAAAXFxcXAAAAAAAAAAACAwMBFyQkFwEDAwIAAAAA
AxAFFyQkJCQXBRADAAAAAAMFFyIYCwgRIRcFAwAAAAABFyITDQwJBwYhFwEAAAAXFyQbExIPDAoHESQX
......@@ -494,14 +494,14 @@
/f/Z2dn/Hx8f/gAAAOsAAABIAAAADAAAAAMAAAAMAAAARQAAAO0gICD+29vb//39/f/9/f3//v79//7+
/f/+/v3//v79//i9ov/2qoj/97WX//i+o//4wqr/+cSt//nEq//4wKf/+Luf//e0lv/3rYz/9qaC//Wg
ef/1m3L/85Vr//CPZP/uiV7/64RY/+l/U//me0//43ZL/99xRv/dbUP/5pZ5//7+/f/+/v3//v79//7+
/f/+/v3//f39/9nZ2f8fHx//AAAA7wAAAFQAAAASAAAABAAAAAAAAAADAAAADAAAAEUAAADrHh4e/tvb
/f/+/v3//f39/9nZ2f8fHx//AAAA7wAAAFQAAAAgvAAABAAAAAAAAAADAAAADAAAAEUAAADrHh4e/tvb
2//+/v7//v7+//7+/v/+/v7//v79//vXx//3r47/+Lyg//nGr//5zLj/+s+7//nNuf/5ybP/+MOr//i7
oP/3s5T/9qqI//ajfv/1nXX/9Jhu//OTaP/wjWL/7ohc/+uDV//pflL/5XlO/+J1Sf/gcUb/8b+r//7+
/f/+/v3//v79//7+/v/+/v7/2tra/x0dHf8AAADzAAAAcQAAACMAAAAJAAAAAQAAAAAAAAAAAAAAAwAA
AA0AAABJAAAA7CAgIP/a2tr//v79//7+/f/+/v3//v79//308P/4tJb/+MCm//nMuP/61MP/+tfH//rW
xf/60b7/+cm0//jAp//4t5r/966N//amgf/1n3j/9Zlw//SVav/zkWX/8Yxf/+6HWv/rglX/6H1Q/+V4
TP/keE7/++3o//39/f/+/v3//v7+//7+/f/Z2dn/Hx8f/wAAAPgAAACeAAAASgAAABsAAAAGAAAAAAAA
AAAAAAAAAAAAAAAAAAQAAAASAAAAVQAAAP8gICD/29vb//7+/f/+/v3//f39//7+/f/60L3/+MCn//rO
AAAAAAAAAAAAAAAAAAQAAAAgvAAAVQAAAP8gICD/29vb//7+/f/+/v3//f39//7+/f/60L3/+MCn//rO
u//62Mn/+9zP//vbzf/61sX/+c25//nErP/4up7/97CQ//eng//2oHn/9Zpx//WWa//0k2b/9I9i//GK
Xf/uhVj/64BT/+h8T//vqo3//v79//39/f/9/f3//v7+/9ra2v8fHx//AAAA/wAAAMwAAACFAAAARAAA
ABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAJAAAAIwAAAP8AAAD/Hh4e/9vb2//+/v7//v79//7+
......@@ -608,7 +608,7 @@
PP/TYDn/z1s1/8xXMf/JUy7/4J2J//7+/f/+/v3/+/v6/2ZmZf8CAQH/HBAK/wAAAP8AAADRAAAAhwAA
ADkAAAAOAAAAAQAAAAUAAAATAAAAMAAAAGEAAACeAAAA/wAAAP9nZ2f/+/v7//7+/f/+/v3/+9rK//OM
Xv/zjF7/8oxe//CJXP/thVj/6YBV/+d8Uf/keE3/4HNJ/91uRf/aaUH/1mU9/9NgOf/PWzb/zFcx/8lU
L//tx7v//v79//39/f/7+/v/ZWVl/wAAAP8AAAD/AAAA4AAAAKEAAABSAAAAHAAAAAUAAAASAAAAMAAA
L//tx7v//v79//39/f/7+/v/ZWVl/wAAAP8AAAD/AAAA4AAAAKEAAABSAAAAHAAAAAUAAAAgvAAAMAAA
AGAAAACZAAAA0gAAAP9oaGj/+/v7//39/f/9/f3//fv5//Wcc//zjmD/9I9h//SPY//zj2L/8Itf/+2H
W//qglf/531S/+R4Tv/gc0r/3W9F/9pqQf/WZT3/02A5/89bNv/MVzH/0GlJ//z59//9/f3//v79//v7
+/9lZWX/AAAA/wAAAPAAAADCAAAAeQAAADgAAAATAAAAKgAAAFoAAACVAAAAzwAAAPxoaGj/+/v7//7+
......@@ -654,7 +654,7 @@
Wv+3Z0T/AAAA/wAAALcAAABrAAAAKgAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAwAAABUAAAD/t2dE//SK
W//ziVv/8Yha/+mEV/+pXz7/DAcE/2lpaf/7+/v//f39//7+/v/+/v3//v79//7+/v/+/v3//v7+//7+
/v/+/v7//f39//v7+/9oaGj/DQcE/6pgP//pg1f/8Yha//OJWv/ziVr/t2dE/wAAAP8AAACxAAAAaAAA
ACgAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAASAAAA/7dnRP/0ilv/9Ipb//OJWv/xiFr/6YRX/6lf
ACgAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAgvAAA/7dnRP/0ilv/9Ipb//OJWv/xiFr/6YRX/6lf
Pv8MBwT/aGho//z8/P/+/v3//v7+//7+/f/+/v7//f39//7+/v/+/v7//v7+//v7+/9nZ2f/DQcE/6pg
P//phFf/8Yha//OJWv/ziVr/84la/7dnRP8AAAD/AAAAmgAAAFoAAAAjAAAACAAAAAEAAAAAAAAAAAAA
AAAAAAACAAAADQAAAP+JTTP/t2dE/7dnRP+3Z0T/tmdE/7VmQ/+uYkD/cT8p/wEAAP9paWn/+/v7//7+
......@@ -662,7 +662,7 @@
RP+JTTP/AAAA/wAAAGoAAAA+AAAAGAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2lpaf/8/Pz//f39//7+/v/9/f3//v7+//v7
+/9oaGj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAzAAAAHgAA
AAwAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA0AAAASAAAAFQAAABYAAAAWAAAAFgAA
AAwAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA0AAAAgvAAAFQAAABYAAAAWAAAAFgAA
ABYAAAAXAAAAHwAAAFoAAADxaGho/vv7+//+/v7//f39//v7+/9nZ2f+AAAA8QAAAFkAAAAfAAAAFwAA
ABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABUAAAAUAAAAEAAAAAkAAAADAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAUAAAAOAAAAUAAA
......@@ -755,14 +755,14 @@
AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAA
AAMAAAADAAAACgAAACoAAABzAAAAyAAAAMgAAABzAAAAKgAAAAkAAAADAAAAAwAAAAMAAAADAAAAAgAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAgAAABEAAAAlAAAALAAAAC0AAAAyAAAATAAAAIgAAADURUVF/kRE
RP4AAADUAAAAiAAAAEwAAAAyAAAALQAAACwAAAAsAAAAKgAAABwAAAAIAAAAAAAAAAAAAAAAAAAACQAA
RP4AAADUAAAAiAAAAEwAAAAyAAAALQAAACwAAAAgvAAAKgAAABwAAAAIAAAAAAAAAAAAAAAAAAAACQAA
ADwAAACDAAAAnAAAAKAAAACrAAAAxgAAAOhFRUX+9PT0//Pz8/9ERET+AAAA6AAAAMYAAACrAAAAoAAA
AJ4AAACeAAAAlgAAAGMAAAAcAAAAAgAAAAAAAAAAAAAADg8IBf88Ihb/OSAV/y4aEP8ZDgn/BAIB/0VF
Rf/09PT//f39//39/f/09PT/RERE/wQCAf8ZDgn/LhoR/zkgFf88Ihb/DwgF/wAAAJUAAAAqAAAAAwAA
AAAAAAAAAAAADzwiFv/thlf/zXRL/4VLMf8uGhH/RkZF//X19P/9/f3//v79//39/f/+/v7/9PTz/0VF
RP8uGhD/hksx/810TP/thlj/PCIW/wAAAJ4AAAAsAAAAAwAAAAAAAAAAAAAADzkgFf/OdEz/hksx/y4a
RP8uGhD/hksx/810TP/thlj/PCIW/wAAAJ4AAAAgvAAAAwAAAAAAAAAAAAAADzkgFf/OdEz/hksx/y4a
EP9GRkX/9PT0//39/f/+/v3//f39//7+/f/9/f3//f39//Pz8/9FRUT/LhoR/4ZLMf/OdEz/OSAV/wAA
AJ4AAAAsAAAAAwAAAAAAAAAAAAAAFS4aEP+FSzH/LhoQ/0ZGRv/19fT//fr4//PDsP/kjGv/2m1G/9Rm
AJ4AAAAgvAAAAwAAAAAAAAAAAAAAFS4aEP+FSzH/LhoQ/0ZGRv/19fT//fr4//PDsP/kjGv/2m1G/9Rm
QP/YfF7/57Sk//z49//09PT/RUVE/y4ZEP+GSzH/LhoR/wAAAKAAAAAtAAAAAwAAAAAAAAAHAAAANBkO
Cf8uGhH/RkZF//X19f/98ez/8Jp0/+d8T//idUr/3W5E/9hnP//SXzj/zVgy/9JyVP/46+f/9PT0/0VF
RP8uGhD/GQ4J/wAAAKsAAAAyAAAAAwAAAAYAAAAoAAAAeQQCAf9GRkX/9PT0//36+P/1oHr/8Ypc/+2F
......@@ -779,10 +779,10 @@
Wf/ofE//88Ow//39/f/19fT/RUVF/wAAALoAAAAwAAAAAwAAAAAAAAAAAAAAExEJBv9KSEf/9fX0//38
+//5z7v/+tbG//rXyP/5yLL/97SW//Wjfv/0l23/9JBk//KLXf/wmnT//fr5//T09P9KSEf/EQkG/wAA
AKAAAAAtAAAAAwAAAAAAAAAAAAAADzogFf+WVTf/SkhH//X19f/99/T/+c67//jGsP/4vaL/9q2M//Wf
eP/0lGn/845g//Whev/98ez/9fX0/0pIR/+XVTj/OiAV/wAAAJ4AAAAsAAAAAwAAAAAAAAAAAAAADzwi
eP/0lGn/845g//Whev/98ez/9fX0/0pIR/+XVTj/OiAV/wAAAJ4AAAAgvAAAAwAAAAAAAAAAAAAADzwi
Fv/uhlj/llQ3/0pJSP/19fT//fz7//vdz//4u6D/9qN+//Wbcv/2p4T/+c25//36+P/19fX/SkhH/5dV
OP/uhlj/PCIW/wAAAJ4AAAAsAAAAAwAAAAAAAAAAAAAADz0iFv/ziVr/7oZY/5ZUN/9KSEf/9fX0//39
/f/+/v3//f39//39/f/+/v7//f39//T09P9KSEf/l1U4/+6GWP/ziVr/PCIW/wAAAJwAAAAsAAAAAwAA
OP/uhlj/PCIW/wAAAJ4AAAAgvAAAAwAAAAAAAAAAAAAADz0iFv/ziVr/7oZY/5ZUN/9KSEf/9fX0//39
/f/+/v3//f39//39/f/+/v7//f39//T09P9KSEf/l1U4/+6GWP/ziVr/PCIW/wAAAJwAAAAgvAAAAwAA
AAAAAAAAAAAADD0iFv/ziVr/84la/+6GWP+WVTf/SkhH//X19P/+/v3//v79//39/f/+/v3/9PT0/0pI
R/+XVTj/7oZY//OJWv/ziVr/PCIW/wAAAIMAAAAlAAAAAgAAAAAAAAAAAAAABg8IBf89Ihb/PSIW/zwi
Fv86IBX/EQkG/0ZGRv/09PT//f39//39/f/19fX/RUVF/xEJBv86IBX/PCIW/zwiFv88Ihb/DwgF/wAA
......@@ -910,10 +910,10 @@
zwD73dAA/OTZAP3p4AD46+cA++/pAPzw6wD98uwA/fbyAP39/QAAAAAALwMAAFAEAABwBgAAkAkAALAK
AADPDAAA8A4AAP8gEgD/PjEA/1xRAP96cQD/l5EA/7axAP/U0QD///8AAAAAAC8ADgBQABcAcAAhAJAA
KwCwADYAzwBAAPAASQD/EVoA/zFwAP9RhgD/cZwA/5GyAP+xyAD/0d8A////AAAAAAAvACAAUAA2AHAA
TACQAGIAsAB4AM8AjgDwAKQA/xGzAP8xvgD/UccA/3HRAP+R3AD/seUA/9HwAP///wAAAAAALAAvAEsA
UABpAHAAhwCQAKUAsADEAM8A4QDwAPAR/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsA
TACQAGIAgvB4AM8AjgDwAKQA/xGzAP8xvgD/UccA/3HRAP+R3AD/seUA/9HwAP///wAAAAAALAAvAEsA
UABpAHAAhwCQAKUAgvDEAM8A4QDwAPAR/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsA
LwAtAFAAPwBwAFIAkABjALAAdgDPAIgA8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx/wDr0f8A////AAAA
AAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP//
AAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAgvPAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP//
/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AgkJAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCY6MCQIAAAAAAAAA
......@@ -970,15 +970,15 @@
iAD3ro0A97GRAPe0lgD4tpgA97ibAPi5ngD3u6EA97yiAPi7oAD4vaIA+b6kAPnApwD4w6sA+cStAO3G
uQD5xrAA+ciyAPnJtAD5zbgA+tC+APTOwAD608EA+dXFAPvZyQD72swA+9zNAPzi1gD86N8A/Pn3APr6
+gD9+vkA/Pz7AP39/QBQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/S
sQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+X
sQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAgvoAAM8MAADwDgAA/yAgvP8+MQD/XFEA/3pxAP+X
kQD/trEA/9TRAP///wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9x
nAD/kbIA/7HIAP/R3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9R
xwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx
/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR
xwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAgvC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx
/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAgvB2AM8AiADwAJkR
/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA
8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x/wDa0f8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAASAfAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCQjh8AAAAA
AAAAAAAAAAAAAAAAAgvfAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASCQjh8AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCQkZGQHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAACCQkZGRkZAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQ1MyglFBAGACCOn5GfkZ+fjx8A
BRAVJSgzNSQAAAAAAAAAAAAAAAA1UEY2JhMJACCQkZGfkZGfn5GQHwAJEyY2SFI1AAAAAAAAAAAAAAAA
......@@ -1021,11 +1021,11 @@
AACQdAAAsI4AAM+pAADwwwAA/9IRAP/YMQD/3VEA/+RxAP/qkQD/8LEA//bRAP///wAAAAAALxQAAFAi
AABwMAAAkD4AALBNAADPWwAA8GkAAP95EQD/ijEA/51RAP+vcQD/wZEA/9KxAP/l0QD///8AAAAAAC8D
AABQBAAAcAYAAJAJAACwCgAAzwwAAPAOAAD/IBIA/z4xAP9cUQD/enEA/5eRAP+2sQD/1NEA////AAAA
AAAvAA4AUAAXAHAAIQCQACsAsAA2AM8AQADwAEkA/xFaAP8xcAD/UYYA/3GcAP+RsgD/scgA/9HfAP//
AAAvAA4AUAAXAHAAIQCQACsAgvA2AM8AQADwAEkA/xFaAP8xcAD/UYYA/3GcAP+RsgD/scgA/9HfAP//
/wAAAAAALwAgAFAANgBwAEwAkABiALAAeADPAI4A8ACkAP8RswD/Mb4A/1HHAP9x0QD/kdwA/7HlAP/R
8AD///8AAAAAACwALwBLAFAAaQBwAIcAkAClALAAxADPAOEA8ADwEf8A8jH/APRR/wD2cf8A95H/APmx
/wD70f8A////AAAAAAAbAC8ALQBQAD8AcABSAJAAYwCwAHYAzwCIAPAAmRH/AKYx/wC0Uf8AwnH/AM+R
/wDcsf8A69H/AP///wAAAAAACAAvAA4AUAAVAHAAGwCQACEAsAAmAM8ALADwAD4R/wBYMf8AcVH/AIxx
/wDcsf8A69H/AP///wAAAAAACAAvAA4AUAAVAHAAGwCQACEAgvAmAM8ALADwAD4R/wBYMf8AcVH/AIxx
/wCmkf8Av7H/ANrR/wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAADBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADUdHDQAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAANHZ2dHAwAAAAAAAAAAAAAAAAAAAAAAAgcICAgIBwIKR2lpb29GCgIICAgICAYCAAAAAAAA
......@@ -1050,7 +1050,7 @@
QADabkcA3m9FAN5wRgDTclQA2X1fAON2SwDkeE4A6H5RAOmBVgDpglgA7oZZAO6JXQDziVoA9IlbAPKL
XQDyjF0A7oxhAOWNbAD0j2EA85BkAPSRZADzlGoA9ZVqAPSYbgD2nHMA8Zp0APWfeAD2oXsA9qN9APak
fgD3qIUA96yLAPeujQD4tJUA6LWlAPi8oQDzxLEA+cewAPnJswD6zroA+s+8APvWxgD72MkA/N7QAPns
6AD+8u0A9fX1AP749QD9+vkA/v7+AP///wAAAAAAAC8OAABQGAAAcCIAAJAsAACwNgAAz0AAAPBKABH/
6AD+8u0A9fX1AP749QD9+vkA/v7+AP///wAAAAAAAC8OAABQGAAAcCIAAJAgvACwNgAAz0AAAPBKABH/
WwAx/3EAUf+HAHH/nQCR/7IAsf/JANH/3wD///8AAAAAAAIvAAAEUAAABnAAAAiQAAAKsAAAC88AAA7w
AAAg/xIAPf8xAFv/UQB5/3EAmP+RALX/sQDU/9EA////AAAAAAAULwAAIlAAADBwAAA9kAAATLAAAFnP
AABn8AAAeP8RAIr/MQCc/1EArv9xAMD/kQDS/7EA5P/RAP///wAAAAAAJi8AAEBQAABacAAAdJAAAI6w
......@@ -1059,10 +1059,10 @@
AACQPgAAsE0AAM9bAADwaQAA/3kRAP+KMQD/nVEA/69xAP/BkQD/0rEA/+XRAP///wAAAAAALwMAAFAE
AABwBgAAkAkAALAKAADPDAAA8A4AAP8gEgD/PjEA/1xRAP96cQD/l5EA/7axAP/U0QD///8AAAAAAC8A
DgBQABcAcAAhAJAAKwCwADYAzwBAAPAASQD/EVoA/zFwAP9RhgD/cZwA/5GyAP+xyAD/0d8A////AAAA
AAAvACAAUAA2AHAATACQAGIAsAB4AM8AjgDwAKQA/xGzAP8xvgD/UccA/3HRAP+R3AD/seUA/9HwAP//
/wAAAAAALAAvAEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR
AAAvACAAUAA2AHAATACQAGIAgvB4AM8AjgDwAKQA/xGzAP8xvgD/UccA/3HRAP+R3AD/seUA/9HwAP//
/wAAAAAALAAvAEsAUABpAHAAhwCQAKUAgvDEAM8A4QDwAPAR/wDyMf8A9FH/APZx/wD3kf8A+bH/APvR
/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA8ACZEf8ApjH/ALRR/wDCcf8Az5H/ANyx
/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAsAPAAPhH/AFgx/wBxUf8AjHH/AKaR
/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAgvPAAPhH/AFgx/wBxUf8AjHH/AKaR
/wC/sf8A2tH/AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGAAAAAAAAAAAA
AAAAAAAAAAAAAAAABjs7BgAAAAAAAAAAAAAAAAACAwMDAwIEOz8/OwQCAwMDAwIAAAAAAAADGhoaBwU7
Pz8/PzsFBxoaHAMAAAAAAAADGhoHBTs/Pz4/Pz87BQcfGgMAAAAAAAADGgcGOz0xHg0LES89OwUHGgMA
......@@ -1086,11 +1086,11 @@
AADC8AAA0f8RANj/MQDe/1EA4/9xAOn/kQDv/7EA9v/RAP///wAAAAAALyYAAFBBAABwWwAAkHQAALCO
AADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+
AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAG
AACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAA
AACQCQAAgvoAAM8MAADwDgAA/yAgvP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAA
FwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8A
IABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAA
AAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP//
/wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR
AAAgvC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP//
/wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAgvB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR
/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x
/wDa0f8A////AAAAAAAAAAAXFwAAAAAAAAAAAAAAAAAXFxcXAAAAAAAAAAACAwMBFyQkFwEDAwIAAAAA
AxAFFyQkJCQXBRADAAAAAAMFFyIYCwgRIRcFAwAAAAABFyITDQwJBwYhFwEAAAAXFyQbExIPDAoHESQX
......@@ -1184,14 +1184,14 @@
/f/Z2dn/Hx8f/gAAAOsAAABIAAAADAAAAAMAAAAMAAAARQAAAO0gICD+29vb//39/f/9/f3//v79//7+
/f/+/v3//v79//i9ov/2qoj/97WX//i+o//4wqr/+cSt//nEq//4wKf/+Luf//e0lv/3rYz/9qaC//Wg
ef/1m3L/85Vr//CPZP/uiV7/64RY/+l/U//me0//43ZL/99xRv/dbUP/5pZ5//7+/f/+/v3//v79//7+
/f/+/v3//f39/9nZ2f8fHx//AAAA7wAAAFQAAAASAAAABAAAAAAAAAADAAAADAAAAEUAAADrHh4e/tvb
/f/+/v3//f39/9nZ2f8fHx//AAAA7wAAAFQAAAAgvAAABAAAAAAAAAADAAAADAAAAEUAAADrHh4e/tvb
2//+/v7//v7+//7+/v/+/v7//v79//vXx//3r47/+Lyg//nGr//5zLj/+s+7//nNuf/5ybP/+MOr//i7
oP/3s5T/9qqI//ajfv/1nXX/9Jhu//OTaP/wjWL/7ohc/+uDV//pflL/5XlO/+J1Sf/gcUb/8b+r//7+
/f/+/v3//v79//7+/v/+/v7/2tra/x0dHf8AAADzAAAAcQAAACMAAAAJAAAAAQAAAAAAAAAAAAAAAwAA
AA0AAABJAAAA7CAgIP/a2tr//v79//7+/f/+/v3//v79//308P/4tJb/+MCm//nMuP/61MP/+tfH//rW
xf/60b7/+cm0//jAp//4t5r/966N//amgf/1n3j/9Zlw//SVav/zkWX/8Yxf/+6HWv/rglX/6H1Q/+V4
TP/keE7/++3o//39/f/+/v3//v7+//7+/f/Z2dn/Hx8f/wAAAPgAAACeAAAASgAAABsAAAAGAAAAAAAA
AAAAAAAAAAAAAAAAAAQAAAASAAAAVQAAAP8gICD/29vb//7+/f/+/v3//f39//7+/f/60L3/+MCn//rO
AAAAAAAAAAAAAAAAAAQAAAAgvAAAVQAAAP8gICD/29vb//7+/f/+/v3//f39//7+/f/60L3/+MCn//rO
u//62Mn/+9zP//vbzf/61sX/+c25//nErP/4up7/97CQ//eng//2oHn/9Zpx//WWa//0k2b/9I9i//GK
Xf/uhVj/64BT/+h8T//vqo3//v79//39/f/9/f3//v7+/9ra2v8fHx//AAAA/wAAAMwAAACFAAAARAAA
ABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAJAAAAIwAAAP8AAAD/Hh4e/9vb2//+/v7//v79//7+
......@@ -1298,7 +1298,7 @@
PP/TYDn/z1s1/8xXMf/JUy7/4J2J//7+/f/+/v3/+/v6/2ZmZf8CAQH/HBAK/wAAAP8AAADRAAAAhwAA
ADkAAAAOAAAAAQAAAAUAAAATAAAAMAAAAGEAAACeAAAA/wAAAP9nZ2f/+/v7//7+/f/+/v3/+9rK//OM
Xv/zjF7/8oxe//CJXP/thVj/6YBV/+d8Uf/keE3/4HNJ/91uRf/aaUH/1mU9/9NgOf/PWzb/zFcx/8lU
L//tx7v//v79//39/f/7+/v/ZWVl/wAAAP8AAAD/AAAA4AAAAKEAAABSAAAAHAAAAAUAAAASAAAAMAAA
L//tx7v//v79//39/f/7+/v/ZWVl/wAAAP8AAAD/AAAA4AAAAKEAAABSAAAAHAAAAAUAAAAgvAAAMAAA
AGAAAACZAAAA0gAAAP9oaGj/+/v7//39/f/9/f3//fv5//Wcc//zjmD/9I9h//SPY//zj2L/8Itf/+2H
W//qglf/531S/+R4Tv/gc0r/3W9F/9pqQf/WZT3/02A5/89bNv/MVzH/0GlJ//z59//9/f3//v79//v7
+/9lZWX/AAAA/wAAAPAAAADCAAAAeQAAADgAAAATAAAAKgAAAFoAAACVAAAAzwAAAPxoaGj/+/v7//7+
......@@ -1344,7 +1344,7 @@
Wv+3Z0T/AAAA/wAAALcAAABrAAAAKgAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAwAAABUAAAD/t2dE//SK
W//ziVv/8Yha/+mEV/+pXz7/DAcE/2lpaf/7+/v//f39//7+/v/+/v3//v79//7+/v/+/v3//v7+//7+
/v/+/v7//f39//v7+/9oaGj/DQcE/6pgP//pg1f/8Yha//OJWv/ziVr/t2dE/wAAAP8AAACxAAAAaAAA
ACgAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAASAAAA/7dnRP/0ilv/9Ipb//OJWv/xiFr/6YRX/6lf
ACgAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAgvAAA/7dnRP/0ilv/9Ipb//OJWv/xiFr/6YRX/6lf
Pv8MBwT/aGho//z8/P/+/v3//v7+//7+/f/+/v7//f39//7+/v/+/v7//v7+//v7+/9nZ2f/DQcE/6pg
P//phFf/8Yha//OJWv/ziVr/84la/7dnRP8AAAD/AAAAmgAAAFoAAAAjAAAACAAAAAEAAAAAAAAAAAAA
AAAAAAACAAAADQAAAP+JTTP/t2dE/7dnRP+3Z0T/tmdE/7VmQ/+uYkD/cT8p/wEAAP9paWn/+/v7//7+
......@@ -1352,7 +1352,7 @@
RP+JTTP/AAAA/wAAAGoAAAA+AAAAGAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2lpaf/8/Pz//f39//7+/v/9/f3//v7+//v7
+/9oaGj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAzAAAAHgAA
AAwAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA0AAAASAAAAFQAAABYAAAAWAAAAFgAA
AAwAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA0AAAAgvAAAFQAAABYAAAAWAAAAFgAA
ABYAAAAXAAAAHwAAAFoAAADxaGho/vv7+//+/v7//f39//v7+/9nZ2f+AAAA8QAAAFkAAAAfAAAAFwAA
ABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABUAAAAUAAAAEAAAAAkAAAADAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAUAAAAOAAAAUAAA
......@@ -1445,14 +1445,14 @@
AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAA
AAMAAAADAAAACgAAACoAAABzAAAAyAAAAMgAAABzAAAAKgAAAAkAAAADAAAAAwAAAAMAAAADAAAAAgAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAgAAABEAAAAlAAAALAAAAC0AAAAyAAAATAAAAIgAAADURUVF/kRE
RP4AAADUAAAAiAAAAEwAAAAyAAAALQAAACwAAAAsAAAAKgAAABwAAAAIAAAAAAAAAAAAAAAAAAAACQAA
RP4AAADUAAAAiAAAAEwAAAAyAAAALQAAACwAAAAgvAAAKgAAABwAAAAIAAAAAAAAAAAAAAAAAAAACQAA
ADwAAACDAAAAnAAAAKAAAACrAAAAxgAAAOhFRUX+9PT0//Pz8/9ERET+AAAA6AAAAMYAAACrAAAAoAAA
AJ4AAACeAAAAlgAAAGMAAAAcAAAAAgAAAAAAAAAAAAAADg8IBf88Ihb/OSAV/y4aEP8ZDgn/BAIB/0VF
Rf/09PT//f39//39/f/09PT/RERE/wQCAf8ZDgn/LhoR/zkgFf88Ihb/DwgF/wAAAJUAAAAqAAAAAwAA
AAAAAAAAAAAADzwiFv/thlf/zXRL/4VLMf8uGhH/RkZF//X19P/9/f3//v79//39/f/+/v7/9PTz/0VF
RP8uGhD/hksx/810TP/thlj/PCIW/wAAAJ4AAAAsAAAAAwAAAAAAAAAAAAAADzkgFf/OdEz/hksx/y4a
RP8uGhD/hksx/810TP/thlj/PCIW/wAAAJ4AAAAgvAAAAwAAAAAAAAAAAAAADzkgFf/OdEz/hksx/y4a
EP9GRkX/9PT0//39/f/+/v3//f39//7+/f/9/f3//f39//Pz8/9FRUT/LhoR/4ZLMf/OdEz/OSAV/wAA
AJ4AAAAsAAAAAwAAAAAAAAAAAAAAFS4aEP+FSzH/LhoQ/0ZGRv/19fT//fr4//PDsP/kjGv/2m1G/9Rm
AJ4AAAAgvAAAAwAAAAAAAAAAAAAAFS4aEP+FSzH/LhoQ/0ZGRv/19fT//fr4//PDsP/kjGv/2m1G/9Rm
QP/YfF7/57Sk//z49//09PT/RUVE/y4ZEP+GSzH/LhoR/wAAAKAAAAAtAAAAAwAAAAAAAAAHAAAANBkO
Cf8uGhH/RkZF//X19f/98ez/8Jp0/+d8T//idUr/3W5E/9hnP//SXzj/zVgy/9JyVP/46+f/9PT0/0VF
RP8uGhD/GQ4J/wAAAKsAAAAyAAAAAwAAAAYAAAAoAAAAeQQCAf9GRkX/9PT0//36+P/1oHr/8Ypc/+2F
......@@ -1469,10 +1469,10 @@
Wf/ofE//88Ow//39/f/19fT/RUVF/wAAALoAAAAwAAAAAwAAAAAAAAAAAAAAExEJBv9KSEf/9fX0//38
+//5z7v/+tbG//rXyP/5yLL/97SW//Wjfv/0l23/9JBk//KLXf/wmnT//fr5//T09P9KSEf/EQkG/wAA
AKAAAAAtAAAAAwAAAAAAAAAAAAAADzogFf+WVTf/SkhH//X19f/99/T/+c67//jGsP/4vaL/9q2M//Wf
eP/0lGn/845g//Whev/98ez/9fX0/0pIR/+XVTj/OiAV/wAAAJ4AAAAsAAAAAwAAAAAAAAAAAAAADzwi
eP/0lGn/845g//Whev/98ez/9fX0/0pIR/+XVTj/OiAV/wAAAJ4AAAAgvAAAAwAAAAAAAAAAAAAADzwi
Fv/uhlj/llQ3/0pJSP/19fT//fz7//vdz//4u6D/9qN+//Wbcv/2p4T/+c25//36+P/19fX/SkhH/5dV
OP/uhlj/PCIW/wAAAJ4AAAAsAAAAAwAAAAAAAAAAAAAADz0iFv/ziVr/7oZY/5ZUN/9KSEf/9fX0//39
/f/+/v3//f39//39/f/+/v7//f39//T09P9KSEf/l1U4/+6GWP/ziVr/PCIW/wAAAJwAAAAsAAAAAwAA
OP/uhlj/PCIW/wAAAJ4AAAAgvAAAAwAAAAAAAAAAAAAADz0iFv/ziVr/7oZY/5ZUN/9KSEf/9fX0//39
/f/+/v3//f39//39/f/+/v7//f39//T09P9KSEf/l1U4/+6GWP/ziVr/PCIW/wAAAJwAAAAgvAAAAwAA
AAAAAAAAAAAADD0iFv/ziVr/84la/+6GWP+WVTf/SkhH//X19P/+/v3//v79//39/f/+/v3/9PT0/0pI
R/+XVTj/7oZY//OJWv/ziVr/PCIW/wAAAIMAAAAlAAAAAgAAAAAAAAAAAAAABg8IBf89Ihb/PSIW/zwi
Fv86IBX/EQkG/0ZGRv/09PT//f39//39/f/19fX/RUVF/xEJBv86IBX/PCIW/zwiFv88Ihb/DwgF/wAA
......
......@@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace OnlineStore.VMILineClient.Properties {
namespace OnlineStore.ACSingleStore.Properties {
using System;
......@@ -19,7 +19,7 @@ namespace OnlineStore.VMILineClient.Properties {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
......@@ -39,7 +39,7 @@ namespace OnlineStore.VMILineClient.Properties {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OnlineStore.VMILineClient.Properties.Resources", typeof(Resources).Assembly);
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OnlineStore.ACSingleStore.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
......
......@@ -8,11 +8,11 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace OnlineStore.VMILineClient.Properties {
namespace OnlineStore.ACSingleStore.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.7.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
......
......@@ -33,7 +33,7 @@ namespace OnlineStore.Common
public static string IsInDebug = "IsInDebug";
public static string AgvServerIp = "AgvServerIp";
public static string AgvServerPort = "AgvServerPort";
public static string Agv_Log_Open = "Agv_Log_Open";
public static string RfidServer_Port = "RfidServer_Port";
}
......
......@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.DeviceLibrary</RootNamespace>
<AssemblyName>DeviceLibrary</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
......@@ -36,20 +36,20 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Asa.IOModule.AIOBOX">
<HintPath>..\..\dll\Asa.IOModule.AIOBOX.dll</HintPath>
<Reference Include="Agv">
<HintPath>..\..\dll\Agv.dll</HintPath>
</Reference>
<Reference Include="Asa.RFID">
<HintPath>..\..\dll\Asa.RFID.dll</HintPath>
<Reference Include="Agv.Client">
<HintPath>..\..\dll\Agv.Client.dll</HintPath>
</Reference>
<Reference Include="Client">
<HintPath>..\..\dll\Client.dll</HintPath>
<Reference Include="Asa.IOModule.AIOBOX">
<HintPath>..\..\dll\Asa.IOModule.AIOBOX.dll</HintPath>
</Reference>
<Reference Include="CodeLibrary">
<HintPath>..\..\..\RC32-SZBOSCH-ACSingleStore\dll\CodeLibrary.dll</HintPath>
<Reference Include="Asa.RFID.HiStation">
<HintPath>..\..\dll\Asa.RFID.HiStation.dll</HintPath>
</Reference>
<Reference Include="halcondotnet">
<HintPath>..\..\..\RC32-SZBOSCH-ACSingleStore\dll\halcondotnet.dll</HintPath>
<Reference Include="Asa.RFID.IReadAll">
<HintPath>..\..\dll\Asa.RFID.IReadAll.dll</HintPath>
</Reference>
<Reference Include="HFReader9CSharp, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
......
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,10.85.162.17#16,,,,,,,
PRO,IO模块对应的DO数量,IO_DOLength,10.85.162.17#16,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,10.85.162.17,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,10.21.69.168#16,,,,,,,
PRO,IO模块对应的DO数量,IO_DOLength,10.21.69.168#16,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,10.21.69.168,,,,,,,
,,,,,,,,,,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
DI,放行按钮,Pass_BTN,1,PRO_AOI_IP_1,0,放行按钮,X02,DI-02,0,
......@@ -26,6 +26,6 @@ PRO,L1线入口节点名称,L1_In_AgvName,A2,,,,,,,
PRO,L1线出口节点名称,L1_Out_AgvName,A1,,,,,,,
PRO,L2线入口节点名称,L2_In_AgvName,A4,,,,,,,
PRO,L2线出口节点名称,L2_Out_AgvName,A3,,,,,,,
PRO,L1线出口RFIDIP,L1_Out_RFIDIP,192.168.103.108,,,,,, ,
PRO,L2线出口RFIDIP,L2_Out_RFIDIP,192.168.103.107,,,,,, ,
PRO,L1空料串线出口RFIDIP,L1_Out_RFIDIP,10.21.69.1,,,,,, ,
PRO,L2上料线出口RFIDIP,L2_Out_RFIDIP,10.21.69.46,,,,,, ,
PRO,休眠秒数(秒),SleepSeconds,40,,,,,,,
using Asa.RFID;

using OnlineStore.Common;
using System;
using System.Collections.Concurrent;
......@@ -11,10 +11,10 @@ namespace OnlineStore.DeviceLibrary
{
public class RFIDManager
{
private static ReadAll readAll =new ReadAll ("TheRFID");
private static Asa.RFID.ReadAll readAll =new Asa.RFID.ReadAll ("TheRFID");
private static bool IsOpen = false;
// private static ConcurrentDictionary<string, string> LastRfidMap = new ConcurrentDictionary<string, string>();
public static void Open(string[] iparray)
public static void Open()
{
if (IsOpen)
{
......@@ -27,7 +27,7 @@ namespace OnlineStore.DeviceLibrary
{
port = 13001;
}
// readAll.Received += ReadAll_Received;
//readAll.Received += ReadAll_Received;
// readAll.Log += ReadAll_Log;
LogUtil.info("RFID Server Open,port=" + port);
readAll.Start(port);
......

using Asa;
using Agv;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
......@@ -78,8 +78,7 @@ namespace OnlineStore.DeviceLibrary
// {
//}
AgvClient.SetCancelState(false);
RFIDManager.Open(new string[] { Config.L1_Out_RFIDIP, Config.L2_Out_RFIDIP });
RFIDManager.Open();
runStatus = RunStatus.HomeMoving;
MoveInfo.NewMove(LineMoveType.ReturnHome);
ReturnHome();
......@@ -176,7 +175,6 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = "";
RFIDManager.Close();
AgvClient.SetCancelState(true);
mainTimer.Enabled = false;
serverConnectTimer.Enabled = false;
StopMove();
......@@ -246,9 +244,17 @@ namespace OnlineStore.DeviceLibrary
}
else if (runStatus.Equals(RunStatus.Runing))
{
if(IsDebug)
{
AgvClient.SetCancelState(true);
}
else
{
AgvClient.SetCancelState(false);
LoadLineTimerProcess();
EmptyLineTimerProcess();
}
LoadAreaTimerProcess();
......@@ -324,8 +330,8 @@ namespace OnlineStore.DeviceLibrary
else if (span1.TotalMilliseconds > StopDownMS)
{
il1_outstopCheckWarch.Stop();
ClientAction currA = AgvClient.GetAction(Config.L1_Out_AgvName);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
Agv.ClientAction currA = AgvClient.GetAction(Config.L1_Out_AgvName);
if (currA.Equals(Agv.ClientAction.None) || currA.Equals(Agv.ClientAction.NeedLeave) || currA.Equals(Agv.ClientAction.NeedEnter))
{
if (IOManager.IOValue(IO_Type.L1_OutStopDown).Equals(IO_VALUE.HIGH))
{
......@@ -335,13 +341,21 @@ namespace OnlineStore.DeviceLibrary
}
//如果入口无料架即可进入
if (IOManager.IOValue(IO_Type.L1_InCheck).Equals(IO_VALUE.LOW))
if (IOManager.IOValue(IO_Type.L1_InCheck).Equals(IO_VALUE.LOW) && AgvClient.GetAction(Config.L1_In_AgvName).Equals(ClientAction.None))
{
AgvClient.NeedEnter(Config.L1_In_AgvName, "");
}else
}else if(IOManager.IOValue(IO_Type.L1_InCheck).Equals(IO_VALUE.HIGH) && AgvClient.GetAction(Config.L1_In_AgvName).Equals(ClientAction.NeedEnter))
{
AgvClient.SetToNone(Config.L1_In_AgvName, "");
}
//如果是出口无料架,NeedLeave状态,改为None
if ((IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.LOW) || LastL1OutShelfId.Equals("000")) &&
AgvClient.GetAction(Config.L1_Out_AgvName).Equals(ClientAction.NeedLeave))
{
il1_outstopCheckWarch.Stop();
LogUtil.info(" 空料串线体出口无料架/rfid未读到,更改[" + Config.L1_Out_AgvName + "] 状态[None] ");
AgvClient.SetToNone(Config.L1_Out_AgvName, "");
}
}
private DateTime il2_lastCallAgvTime = DateTime.Now.AddMinutes(-5);
private Stopwatch il2_outstopCheckWarch = new Stopwatch();
......@@ -381,8 +395,8 @@ namespace OnlineStore.DeviceLibrary
{
il2_lastCallAgvTime = DateTime.Now;
LogUtil.info(" 上料线体出口有料架" + LastL1OutShelfId + ",呼叫agv小车[" + Config.L2_Out_AgvName + "] [NeedLeave] ");
AgvClient.NeedLeave(Config.L2_Out_AgvName, LastL1OutShelfId);
LogUtil.info(" 上料线体出口有料架" + LastL2OutShelfId + ",呼叫agv小车[" + Config.L2_Out_AgvName + "] [NeedLeave] ");
AgvClient.NeedLeave(Config.L2_Out_AgvName, LastL2OutShelfId);
}
}
}
......@@ -399,19 +413,20 @@ namespace OnlineStore.DeviceLibrary
}
}
//如果入口无料架即可进入
if (IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW))
if (IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW) && AgvClient.GetAction(Config.L2_In_AgvName).Equals(ClientAction.None))
{
AgvClient.NeedEnter(Config.L2_In_AgvName, "");
}
else
else if(IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.HIGH) && AgvClient.GetAction(Config.L2_In_AgvName).Equals(ClientAction.NeedEnter))
{
AgvClient.SetToNone(Config.L2_In_AgvName, "");
}
//如果是出口无料架,NeedLeave状态,改为None
if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW) && AgvClient.GetAction(Config.L2_Out_AgvName).Equals(ClientAction.NeedLeave))
if ((IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW) || LastL2OutShelfId.Equals("000")) &&
AgvClient.GetAction(Config.L2_Out_AgvName).Equals(ClientAction.NeedLeave))
{
il2_outstopCheckWarch.Stop();
LogUtil.info(" 上料线体出口无料架 ,更改[" + Config.L2_Out_AgvName + "] 状态[None] ");
LogUtil.info(" 上料线体出口无料架/rfid未读到,更改[" + Config.L2_Out_AgvName + "] 状态[None] ");
AgvClient.SetToNone(Config.L2_Out_AgvName, "" );
}
}
......@@ -421,9 +436,9 @@ namespace OnlineStore.DeviceLibrary
private void LoadAreaTimerProcess()
{
//人工取料
if (IOManager.IOValue(IO_Type.L2_LoadSig).Equals(IO_VALUE.HIGH))
if (IOManager.IOValue(IO_Type.L2_LoadSig).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.Pass_BTN).Equals(IO_VALUE.HIGH))
{
StopIOMove(IO_Type.Pass_BTN,1500);
StopIOMove(IO_Type.L2_LoadStopDown, 1500);
//if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW))
//{
......@@ -585,27 +600,27 @@ namespace OnlineStore.DeviceLibrary
Alarm(AlarmType.SuddenStop);
}
}
else if (IOManager.IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.Reset_BTN).Equals(IO_VALUE.HIGH))
{
//收到复位信号,若报警直接复位,若不报警且无操作,回到待机点
if (alarmType.Equals(AlarmType.None) && isInSuddenDown.Equals(false))
{
if (MoveInfo.MoveType.Equals(LineMoveType.None))
{
LogUtil.info("收到复位信号,当前无报警,暂不复位");
}
else
{
LogUtil.info("收到复位信号,当前无报警, 在" + MoveInfo.MoveType + "处理中,暂不复位");
}
}
else
{
//收到复位信号
LogUtil.info("收到复位信号,自动复位");
Reset();
}
}
//else if (IOManager.IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH))//&& IOManager.IOValue(IO_Type.Reset_BTN).Equals(IO_VALUE.HIGH)
//{
// //收到复位信号,若报警直接复位,若不报警且无操作,回到待机点
// if (alarmType.Equals(AlarmType.None) && isInSuddenDown.Equals(false))
// {
// if (MoveInfo.MoveType.Equals(LineMoveType.None))
// {
// LogUtil.info("收到复位信号,当前无报警,暂不复位");
// }
// else
// {
// LogUtil.info("收到复位信号,当前无报警, 在" + MoveInfo.MoveType + "处理中,暂不复位");
// }
// }
// else
// {
// //收到复位信号
// LogUtil.info("收到复位信号,自动复位");
// Reset();
// }
//}
}
}
......
using Asa;
using Agv;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
......

using Asa;
using Asa.RFID;
using Agv;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
......@@ -15,8 +14,9 @@ namespace OnlineStore.DeviceLibrary
public class AgvClient
{
private static string ServerIp = ConfigAppSettings.GetValue(Setting_Init.AgvServerIp);
private static Asa.AgvClient agvClient;
public static Dictionary<string, Asa.ClientAction> actionMap = new Dictionary<string, Asa.ClientAction>();
private static int ServerPort = ConfigAppSettings.GetIntValue(Setting_Init.AgvServerPort);
private static Agv.AgvClient agvClient;
public static Dictionary<string, Agv.ClientAction> actionMap = new Dictionary<string, Agv.ClientAction>();
public static List<string> NodeList = new List<string>();
private static bool isInit = false;
public static void Init()
......@@ -26,26 +26,22 @@ namespace OnlineStore.DeviceLibrary
if (!isInit)
{
isInit = true;
agvClient = new Asa.AgvClient(ServerIp);
agvClient.CancelState = true;
agvClient.Log += AgvClient_Log;
agvClient.Arrive += AgvClient_Arrive;
agvClient.Ready += AgvClient_Ready;
agvClient.CloseDoor += AgvClient_CloseDoor;
}
actionMap = new Dictionary<string, Asa.ClientAction>();
agvClient = new Agv.AgvClient();
agvClient.Received += AgvClient_Received;
}
actionMap = new Dictionary<string, Agv.ClientAction>();
//foreach (string key in NodeList)
//{
// actionMap.Add(key, Asa.ClientAction.None);
// actionMap.Add(key, Agv.ClientAction.None);
//}
agvClient.Connect();
agvClient.Connect(ServerIp,ServerPort);
foreach (string str in NodeList)
{
SetStatus(str);
LogUtil.info("agv init ,SetStatus[" + str + "]=none ");
}
SetCancelState(false);
}
catch (Exception ex)
{
......@@ -53,22 +49,26 @@ namespace OnlineStore.DeviceLibrary
}
}
public static void SetCancelState(bool isCancel)
private static void AgvClient_Received(Agv.Node node)
{
agvClient.CancelState = isCancel;
AgvClient_Ready(node.Name,node.RFID);
}
private static void AgvClient_CloseDoor(string id, string rfid)
/// <summary>
/// 设置是否屏蔽AGV状态
/// </summary>
/// <param name="cancel"></param>
public static void SetCancelState(bool cancel)
{
//RFIDData data = new RFIDData(content);
LogUtil.info("收到 AgvClient_CloseDoor [" + id + "] [" + rfid + "] ");
agvClient.CancelState = cancel;
}
public static void SetStatus(string id, string shelfId = "", ClientAction action = ClientAction.None, ClientLevel level = ClientLevel.Low)
public static void SetStatus(string id, string shelfId = "", Agv.ClientAction action = Agv.ClientAction.None, Agv.ClientLevel level = Agv.ClientLevel.Low)
{
// ClientAction currA = GetAction(id);
if (actionMap.ContainsKey(id))
{
ClientAction currA = actionMap[id]; //相同状态就设置一次
Agv.ClientAction currA = actionMap[id]; //相同状态就设置一次
if (currA.Equals(action))
{
return;
......@@ -83,7 +83,7 @@ namespace OnlineStore.DeviceLibrary
string logName = "收到 AgvClient_Ready [" + id + "] [" + rfid + "] ";
LogUtil.info(logName);
UpdateAction(id, Asa.ClientAction.Ready);
UpdateAction(id, Agv.ClientAction.Ready);
if (id.Equals(LineManager.Config.L1_In_AgvName))
{
LineManager.Line.UpdateSleep(false);
......@@ -224,40 +224,33 @@ namespace OnlineStore.DeviceLibrary
}
}
}
private static void AgvClient_Arrive(string id, string rfid)
{
UpdateAction(id, Asa.ClientAction.Arrive);
// RFIDData data = new RFIDData(content);
LogUtil.info("收到 AgvClient_Arrive [" + id + "] [" +rfid + "] ");
}
public static bool SetToNone(string id, string shelfId = "")
{
ClientAction currA = GetAction(id);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
Agv.ClientAction currA = GetAction(id);
if (currA.Equals(Agv.ClientAction.None) || currA.Equals(Agv.ClientAction.NeedLeave) || currA.Equals(Agv.ClientAction.NeedEnter))
{
SetStatus(id, shelfId, ClientAction.None);
SetStatus(id, shelfId, Agv.ClientAction.None);
return true;
}
return false;
}
public static bool NeedEnter(string id, string shelfId)
{
ClientAction currA = GetAction(id);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
Agv.ClientAction currA = GetAction(id);
if (currA.Equals(Agv.ClientAction.None) || currA.Equals(Agv.ClientAction.NeedLeave) || currA.Equals(Agv.ClientAction.NeedEnter))
{
SetStatus(id, shelfId, ClientAction.NeedEnter);
SetStatus(id, shelfId, Agv.ClientAction.NeedEnter);
return true;
}
return false;
}
public static bool NeedLeave(string id, string shelfId)
{
ClientAction currA = GetAction(id);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
Agv.ClientAction currA = GetAction(id);
if (currA.Equals(Agv.ClientAction.None) || currA.Equals(Agv.ClientAction.NeedLeave) || currA.Equals(Agv.ClientAction.NeedEnter))
{
SetStatus(id, shelfId, ClientAction.NeedLeave);
SetStatus(id, shelfId, Agv.ClientAction.NeedLeave);
return true;
}
return false;
......@@ -270,36 +263,16 @@ namespace OnlineStore.DeviceLibrary
}
return agvClient.IsConn;
}
//public static void SendRFID(string NodeName, string rfid)
//{
// agvClient.SendRFID(NodeName, rfid);
//}
private static void AgvClient_Log(string s)
{
try
{
bool isLog = ConfigAppSettings.GetIntValue(Setting_Init.Agv_Log_Open).Equals(1);
if (isLog)
{
LogUtil.info(" AGV " + ServerIp + " Log : " + s);
}
}
catch (Exception ex)
{
LogUtil.error("AgvClient_Log 出错:" + ex.ToString());
}
}
public static Asa.ClientAction GetAction(string NodeName)
public static Agv.ClientAction GetAction(string NodeName)
{
if (actionMap.ContainsKey(NodeName))
{
return actionMap[NodeName];
}
return Asa.ClientAction.None;
return Agv.ClientAction.None;
}
public static void UpdateAction(string name, Asa.ClientAction action)
public static void UpdateAction(string name, Agv.ClientAction action)
{
if (actionMap.ContainsKey(name))
{
......@@ -316,6 +289,7 @@ namespace OnlineStore.DeviceLibrary
{
if (agvClient != null)
{
SetCancelState(true);
agvClient.Close();
}
}
......
......@@ -31,7 +31,7 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
///
/// </summary>
public static string Reset_BTN = "Reset_BTN";
//public static string Reset_BTN = "Reset_BTN";
/// <summary>
///DI,放行按钮,Pass_BTN,1,PRO_AOI_IP_1,0,放行按钮,X02,DI-02,0,
/// </summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!