Commit e2cf57d8 几米阳光

使用新版本IO

1 个父辈 8ba27dde
...@@ -4,6 +4,11 @@ ...@@ -4,6 +4,11 @@
<name>Asa.IOModule.AIOBOX</name> <name>Asa.IOModule.AIOBOX</name>
</assembly> </assembly>
<members> <members>
<member name="T:Asa.IOModule.AIOBOX1">
<summary>
AIOBOX操作类
</summary>
</member>
<member name="T:Asa.IOModule.AIOBOX"> <member name="T:Asa.IOModule.AIOBOX">
<summary> <summary>
AIOBOX操作类 AIOBOX操作类
...@@ -45,24 +50,26 @@ ...@@ -45,24 +50,26 @@
日志输出事件 日志输出事件
</summary> </summary>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.#ctor"> <member name="T:Asa.IOModule.AIOBOX.Log_RxTx">
<summary> <summary>
AIOBOX 日志输出
</summary> </summary>
<param name="box"></param>
<param name="s"></param>
</member> </member>
<member name="P:Asa.IOModule.AIOBOX.IP"> <member name="E:Asa.IOModule.AIOBOX.Log_RxTx_Event">
<summary> <summary>
IP地址 日志输出事件
</summary> </summary>
</member> </member>
<member name="P:Asa.IOModule.AIOBOX.Mask"> <member name="M:Asa.IOModule.AIOBOX.#ctor">
<summary> <summary>
子网掩码 AIOBOX
</summary> </summary>
</member> </member>
<member name="P:Asa.IOModule.AIOBOX.Gateway"> <member name="P:Asa.IOModule.AIOBOX.IP">
<summary> <summary>
子网网关 IP地址
</summary> </summary>
</member> </member>
<member name="P:Asa.IOModule.AIOBOX.Port"> <member name="P:Asa.IOModule.AIOBOX.Port">
...@@ -97,7 +104,7 @@ ...@@ -97,7 +104,7 @@
</member> </member>
<member name="P:Asa.IOModule.AIOBOX.Type"> <member name="P:Asa.IOModule.AIOBOX.Type">
<summary> <summary>
IO模块类型 模块的类型
</summary> </summary>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.Connect"> <member name="M:Asa.IOModule.AIOBOX.Connect">
...@@ -156,65 +163,43 @@ ...@@ -156,65 +163,43 @@
<param name="sta"></param> <param name="sta"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.WriteDO_Reverse(Asa.IOModule.Box_Addr,Asa.IOModule.Box_Sta@)"> <member name="M:Asa.IOModule.AIOBOX.ReadDI(System.Byte[])">
<summary>
先把状态取反,然后写入单个DO
</summary>
<param name="add"></param>
<param name="sta"></param>
<returns></returns>
</member>
<member name="M:Asa.IOModule.AIOBOX.WriteDO(Asa.IOModule.Box_Addr,Asa.IOModule.Box_Sta[])">
<summary>
写入多个DO
</summary>
<param name="add"></param>
<param name="sta"></param>
<returns></returns>
</member>
<member name="M:Asa.IOModule.AIOBOX.Command(System.Byte[]@)">
<summary>
命令,前7个字节
</summary>
<param name="data"></param>
</member>
<member name="M:Asa.IOModule.AIOBOX.ReadDI">
<summary> <summary>
读取所有DI状态 读取所有DI状态
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.ReadDO"> <member name="M:Asa.IOModule.AIOBOX.Command">
<summary> <summary>
读取所有DO状态 命令,前7个字节
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.Target(System.IAsyncResult)"> <member name="M:Asa.IOModule.AIOBOX.Trigger_DIO">
<summary> <summary>
回调函数,开启监听线程 触发DIO改变事件
</summary> </summary>
<param name="args"></param>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.Listen"> <member name="M:Asa.IOModule.AIOBOX.LogPrint">
<summary> <summary>
监听结果线程,把读取到的数据保存到buff 日志输出线程
</summary> </summary>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.Trigger_DIO"> <member name="M:Asa.IOModule.AIOBOX.Auto_Read_DIO">
<summary> <summary>
触发DIO改变事件 自动读取DIO线程
</summary> </summary>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.Auto_Read_DIO"> <member name="M:Asa.IOModule.AIOBOX.Listen">
<summary> <summary>
自动读取DIO线程 监听结果线程
</summary> </summary>
</member> </member>
<member name="M:Asa.IOModule.AIOBOX.LogPrint"> <member name="M:Asa.IOModule.AIOBOX.Target(System.IAsyncResult)">
<summary> <summary>
日志输出线程 回调函数,开启监听线程
</summary> </summary>
<param name="args"></param>
</member> </member>
<member name="T:Asa.IOModule.Reg"> <member name="T:Asa.IOModule.Reg">
<summary> <summary>
......
...@@ -53,6 +53,10 @@ ...@@ -53,6 +53,10 @@
<layout type="log4net.Layout.PatternLayout"> <layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n" /> <conversionPattern value="[%date][%t]%-5p %m%n" />
</layout> </layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="ERROR" />
</filter>
</appender> </appender>
<appender name="AIOBOXLog" type="log4net.Appender.RollingFileAppender"> <appender name="AIOBOXLog" type="log4net.Appender.RollingFileAppender">
<file value="logs/AIOBOX1.log" /> <file value="logs/AIOBOX1.log" />
...@@ -68,9 +72,13 @@ ...@@ -68,9 +72,13 @@
<appender-ref ref="RollingLogFileAppender" /> <appender-ref ref="RollingLogFileAppender" />
</logger> </logger>
<logger name="AIOBOXLog"> <logger name="AIOBOXLog">
<level value="Info" /> <level value="Debug" />
<appender-ref ref="AIOBOXLog" /> <appender-ref ref="AIOBOXLog" />
</logger> </logger>
<root>
<level value="INFO" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net> </log4net>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
......
...@@ -13,7 +13,7 @@ namespace OnlineStore.Common ...@@ -13,7 +13,7 @@ namespace OnlineStore.Common
{ {
private static LogUtil instance = new LogUtil(); private static LogUtil instance = new LogUtil();
public delegate void ShowLog(string msg, Color color); public delegate void ShowLog(string msg, Color color);
public static readonly ILog LOGGER = LogManager.GetLogger("RollingLogFileAppender"); public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static readonly ILog AIOLog = LogManager.GetLogger("AIOBOXLog"); public static readonly ILog AIOLog = LogManager.GetLogger("AIOBOXLog");
public static Dictionary<int, DateTime> lastErrorLogTime = new Dictionary<int, DateTime>(); public static Dictionary<int, DateTime> lastErrorLogTime = new Dictionary<int, DateTime>();
...@@ -30,7 +30,7 @@ namespace OnlineStore.Common ...@@ -30,7 +30,7 @@ namespace OnlineStore.Common
return; return;
} }
log.Info(log.Logger.Name + " - " + msg); log.Info( " - " + msg);
if (logBox == null) if (logBox == null)
{ {
return; return;
...@@ -40,7 +40,7 @@ namespace OnlineStore.Common ...@@ -40,7 +40,7 @@ namespace OnlineStore.Common
} }
public static void info(ILog log,string msg, Color color) public static void info(ILog log,string msg, Color color)
{ {
log.Info(log.Logger.Name + " - " + msg); log.Info( " - " + msg);
if (logBox == null) if (logBox == null)
{ {
return; return;
...@@ -49,7 +49,7 @@ namespace OnlineStore.Common ...@@ -49,7 +49,7 @@ namespace OnlineStore.Common
} }
public static void debug(ILog log, string msg, Color color) public static void debug(ILog log, string msg, Color color)
{ {
log.Debug(log.Logger.Name + " - " + msg); log.Debug( " - " + msg);
if (debug_opened) if (debug_opened)
{ {
if (logBox == null) if (logBox == null)
...@@ -61,7 +61,7 @@ namespace OnlineStore.Common ...@@ -61,7 +61,7 @@ namespace OnlineStore.Common
} }
public static void debug(ILog log, string msg) public static void debug(ILog log, string msg)
{ {
log.Debug(log.Logger.Name + " - " + msg); log.Debug( " - " + msg);
if (debug_opened) if (debug_opened)
{ {
if (logBox == null) if (logBox == null)
...@@ -97,7 +97,7 @@ namespace OnlineStore.Common ...@@ -97,7 +97,7 @@ namespace OnlineStore.Common
{ {
//if (!lasErrorLogList.Contains(errorMsg)) //if (!lasErrorLogList.Contains(errorMsg))
{ {
log.Error(log.Logger.Name + " - " + errorMsg); log.Error( " - " + errorMsg);
if (logBox == null) if (logBox == null)
{ {
return; return;
......
...@@ -100,7 +100,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -100,7 +100,7 @@ namespace OnlineStore.DeviceLibrary
{ {
foreach (string str in s) foreach (string str in s)
{ {
LogUtil.AIOLog.Info( "["+box.IP+"]"+ str); LogUtil.AIOLog.Debug( "["+box.IP+"]"+ str);
} }
} }
...@@ -237,12 +237,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -237,12 +237,19 @@ namespace OnlineStore.DeviceLibrary
{ {
foreach (AIOBOX aio in AIOMap.Values) foreach (AIOBOX aio in AIOMap.Values)
{ {
Box_Sta[] Box_Staes = new Box_Sta[16]; ushort length = StoreManager.Config.GetDILength(aio.IP);
for(int i = 0; i < 16; i++) for (ushort i = 0; i < length; i++)
{ {
Box_Staes[i] = Box_Sta.Off; ushort u =(ushort)( i + length);
Box_Addr addr = GetAddr(u);
aio.WriteDO(addr, Box_Sta.Off);
} }
aio.WriteDO( Box_Addr.DI_1, Box_Staes); //Box_Sta[] Box_Staes = new Box_Sta[16];
//for(int i = 0; i < 16; i++)
//{
// Box_Staes[i] = Box_Sta.Off;
//}
// aio.WriteDO( Box_Addr.DI_1, Box_Staes);
} }
} }
......
...@@ -65,7 +65,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -65,7 +65,7 @@ namespace OnlineStore.DeviceLibrary
//public static ushort DefaultDILength = 16; //public static ushort DefaultDILength = 16;
//public static ushort DefaultDOLength = 16; //public static ushort DefaultDOLength = 16;
private static byte DefualtSlaveID = 255; private static byte DefualtSlaveID = 255;
public static readonly ILog LOGGER = LogManager.GetLogger("defaultAppender"); public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static Dictionary<string, MasterTcpClient> mastMap = new Dictionary<string, MasterTcpClient>(); public static Dictionary<string, MasterTcpClient> mastMap = new Dictionary<string, MasterTcpClient>();
public static Dictionary<string, List<KNDIO>> DIValueMap = new Dictionary<string, List<KNDIO>>(); public static Dictionary<string, List<KNDIO>> DIValueMap = new Dictionary<string, List<KNDIO>>();
public static Dictionary<string, List<KNDIO>> DOValueMap = new Dictionary<string, List<KNDIO>>(); public static Dictionary<string, List<KNDIO>> DOValueMap = new Dictionary<string, List<KNDIO>>();
......
...@@ -259,7 +259,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -259,7 +259,7 @@ namespace OnlineStore.DeviceLibrary
int length = 2; int length = 2;
byte[] dataArray = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteCoil, addr, data, length); byte[] dataArray = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteCoil, addr, data, length);
SendData(portName, dataArray); SendData(portName, dataArray);
System.Threading.Thread.Sleep(100); System.Threading.Thread.Sleep(200);
data = "0000"; data = "0000";
dataArray = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteCoil, addr, data, length); dataArray = ACCMDManager.GetWriteData(slvAddr, ACCMDManager.CMD_WriteCoil, addr, data, length);
SendData(portName, dataArray); SendData(portName, dataArray);
......
...@@ -715,7 +715,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -715,7 +715,7 @@ namespace OnlineStore.DeviceLibrary
Thread.Sleep(100); Thread.Sleep(100);
} }
ACServerManager.AlarmClear(portName, slvAddr); ACServerManager.AlarmClear(portName, slvAddr);
Thread.Sleep(50); Thread.Sleep(100);
ACServerManager.ServoOn(portName, slvAddr); ACServerManager.ServoOn(portName, slvAddr);
} }
Thread.Sleep(1000); Thread.Sleep(1000);
...@@ -776,12 +776,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -776,12 +776,12 @@ namespace OnlineStore.DeviceLibrary
public void CloseAllAxis() public void CloseAllAxis()
{ {
LogUtil.info(StoreName + "关闭刹车,关闭伺服"); //LogUtil.info(StoreName + "关闭刹车,关闭伺服");
IOManager.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOManager.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
LogUtil.debug(StoreName + "关闭刹车完成,开始关闭伺服"); LogUtil.debug(StoreName + "关闭刹车完成,开始关闭伺服");
foreach (ConfigMoveAxis axis in moveAxisList) foreach (ConfigMoveAxis axis in moveAxisList)
{ {
LogUtil.debug(StoreName + " 开始关闭伺服 " +axis.DisplayStr); LogUtil.info(StoreName + " 开始关闭伺服 " +axis.DisplayStr);
ACServerManager.ServoOff(axis.DeviceName, axis.GetAxisValue()); ACServerManager.ServoOff(axis.DeviceName, axis.GetAxisValue());
} }
...@@ -1382,6 +1382,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1382,6 +1382,7 @@ namespace OnlineStore.DeviceLibrary
} }
public override void StopMove(bool IsCloseAxis) public override void StopMove(bool IsCloseAxis)
{ {
LogUtil.info(LOGGER, StoreName + "调用StopMove");
BatchAxisController.StopCheck(); BatchAxisController.StopCheck();
AxisSuddenStop(); AxisSuddenStop();
if (IsHasCompress_Axis) if (IsHasCompress_Axis)
...@@ -1403,7 +1404,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -1403,7 +1404,6 @@ namespace OnlineStore.DeviceLibrary
{ {
CloseAllAxis(); CloseAllAxis();
} }
LogUtil.info(LOGGER, StoreName + "StopMove");
IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW); IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW); IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
......
...@@ -508,7 +508,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -508,7 +508,7 @@ namespace OnlineStore.DeviceLibrary
lastPosIdStatus = StoreStatus.InStoreEnd; lastPosIdStatus = StoreStatus.InStoreEnd;
storeStatus = StoreStatus.InStoreEnd; storeStatus = StoreStatus.InStoreEnd;
//手动发给服务器状态,防止没有手动 //手动发给服务器状态,防止没有手动
Task.Factory.StartNew(delegate { SendLineStatus(); }); //Task.Factory.StartNew(delegate { SendLineStatus(); });
StoreMove.NextMoveStep(StoreMoveStep.SI_12_PutWareToBag); StoreMove.NextMoveStep(StoreMoveStep.SI_12_PutWareToBag);
ComMoveToPosition(moveP.ComPress_P3, true); ComMoveToPosition(moveP.ComPress_P3, true);
...@@ -748,7 +748,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -748,7 +748,7 @@ namespace OnlineStore.DeviceLibrary
lastPosIdStatus = StoreStatus.OutStoreBoxEnd; lastPosIdStatus = StoreStatus.OutStoreBoxEnd;
storeStatus = StoreStatus.OutStoreBoxEnd; storeStatus = StoreStatus.OutStoreBoxEnd;
//手动发给服务器状态,防止没有手动 //手动发给服务器状态,防止没有手动
Task.Factory.StartNew(delegate { SendLineStatus(); }); //Task.Factory.StartNew(delegate { SendLineStatus(); });
} }
else if (StoreMove.MoveStep == StoreMoveStep.SO_06_BagDeviceBack) else if (StoreMove.MoveStep == StoreMoveStep.SO_06_BagDeviceBack)
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!