Commit 4c2365c5 LN

httpPost方法增加验证,若ping不同则不再发送。logbug修改

1 个父辈 91901d83
此文件类型无法预览
<?xml version="1.0"?> <?xml version="1.0"?>
<configuration> <configuration>
<configSections> <configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections> </configSections>
<appSettings> <appSettings>
<!--是否开机自动启动料仓--> <!--是否开机自动启动料仓-->
<add key="App_AutoRun" value="1"/> <add key="App_AutoRun" value="1" />
<add key="App_Title" value="包装料料仓"/> <add key="App_Title" value="包装料料仓" />
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)--> <!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<add key="StartBlowValue" value="4"/> <add key="StartBlowValue" value="4" />
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)--> <!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<add key="StopBlowValue" value="4"/> <add key="StopBlowValue" value="4" />
<!--Server address--> <!--Server address-->
<add key="http.server" value="http://10.85.160.25/myproject/" /> <add key="http.server" value="http://10.85.160.25/myproject/" />
<!--storeType--> <!--storeType-->
<add key="store_count" value="2"/> <add key="store_count" value="2" />
<add key="Store_ConfigPath" value="\StoreConfig\StoreConfig.csv"/> <add key="Store_ConfigPath" value="\StoreConfig\StoreConfig.csv" />
<!--start one store config--> <!--start one store config-->
<add key="Shelf_Position_Config" value="\StoreConfig\shelfPosition.csv"/> <add key="Shelf_Position_Config" value="\StoreConfig\shelfPosition.csv" />
<add key="Store_Position_Config" value="\StoreConfig\linePositions.csv"/> <add key="Store_Position_Config" value="\StoreConfig\linePositions.csv" />
<add key="BOX_ConfigPath" value="\StoreConfig\BoxConfig.csv"/> <add key="BOX_ConfigPath" value="\StoreConfig\BoxConfig.csv" />
<add key="Store_Type" value="RC_AC_PA"/> <add key="Store_Type" value="RC_AC_PA" />
<add key="Store_CID" value="packing-store"/> <add key="Store_CID" value="packing-store" />
<add key="Store_CID_1" value="packing-21"/> <add key="Store_CID_1" value="packing-19" />
<add key="Store_CID_2" value="packing-22"/> <add key="Store_CID_2" value="packing-20" />
<!--end one store config--> <!--end one store config-->
<add key="ACBaudRate" value="115200" /> <add key="ACBaudRate" value="115200" />
<add key="InOutDefaultPosition" value="8000"/> <add key="InOutDefaultPosition" value="52000" />
<add key="Config_Pwd" value="123456"/> <add key="Config_Pwd" value="123456" />
<!--二维码类型列表配置,用#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code--> <!--二维码类型列表配置,用#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code-->
<add key="CodeType" value="QR Code#Data Matrix ECC 200" /> <add key="CodeType" value="QR Code#Data Matrix ECC 200" />
<!--二维码参数文件所在路径,文件名与二维码类型名一样--> <!--二维码参数文件所在路径,文件名与二维码类型名一样-->
<add key="CodeParamPath" value="\CodeParam\" /> <add key="CodeParamPath" value="\CodeParam\" />
<!--出库等待料盘拿走的时间,秒--> <!--出库等待料盘拿走的时间,秒-->
<add key="OutStoreWaitSeconds" value="10"/> <add key="OutStoreWaitSeconds" value="1" />
<!--温控器类型,0=壁挂王字壳温湿度变送器,1=妙昕温湿度记录仪--> <!--温控器类型,0=壁挂王字壳温湿度变送器,1=妙昕温湿度记录仪-->
<add key="HumitureControllerType" value="0"/> <add key="HumitureControllerType" value="0" />
<add key="UseAIOBOX" value="1"/> <add key="UseAIOBOX" value="1" />
<add key ="DIMS" value ="60"/> <add key="DIMS" value="60" />
<add key ="DOMS" value ="300"/> <add key="DOMS" value="300" />
<!--流水线地址和端口配置--> <!--流水线地址和端口配置-->
<add key ="LineServerIp" value ="192.168.101.11"/> <add key="LineServerIp" value="192.168.101.11" />
<add key ="LineServerPort" value ="5246"/> <add key="LineServerPort" value="5246" />
<!--是否调试状态--> <!--是否调试状态-->
<add key ="IsInDebug" value ="1"/> <add key="IsInDebug" value="1" />
<add key ="UseBuzzer" value ="1"/> <add key="UseBuzzer" value="0" />
<!--IO模块是否主动上传--> <!--IO模块是否主动上传-->
<add key ="AIOAutoUpload" value ="0"/> <add key="AIOAutoUpload" value="0" />
<!--AGV调度服务器地址--> <!--AGV调度服务器地址-->
<add key="AgvServerIp" value="192.168.103.22" /> <add key="AgvServerIp" value="10.85.160.20" />
<add key ="CodeCount" value ="2"/> <add key="CodeCount" value="2" />
<add key="Tool_P3_Offset" value="7000" /> <add key="Tool_P3_Offset" value="7000" />
<add key="Tool_P4_Offset" value="-2000" /> <add key="Tool_P4_Offset" value="-2000" />
<add key="Tool_P5_Offset" value="-2000" /> <add key="Tool_P5_Offset" value="-2000" />
<add key="Tool_P6_Offset" value="7000" /> <add key="Tool_P6_Offset" value="7000" />
<add key="Tool_TargetSpeed" value="20" /> <add key="Tool_TargetSpeed" value="20" />
<add key="Tool_TargetPosition" value="1835000" /> <add key="Tool_TargetPosition" value="1835000" />
<!--检测到料架后自动开始入库-->
<add key ="AutoShelfInstore" value ="1"/>
<!--是否启用入料口移门,1=启用,0=禁用--> <!--是否启用入料口移门,1=启用,0=禁用-->
<add key ="UseDoor" value ="1"/> <add key="UseDoor" value="0" />
<add key ="Agv_Log_Open" value ="1"/> <add key="Agv_Log_Open" value="1" />
<add key="AutoShelfInstore" value="1" />
</appSettings> </appSettings>
<log4net> <log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs/Packing-store-1-2.log"/> <file value="logs/Packing-store-19-20.log" />
<param name="Encoding" value="UTF-8" /> <param name="Encoding" value="UTF-8" />
<appendToFile value="true"/> <appendToFile value="true" />
<rollingStyle value="Date"/> <rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd"/> <datePattern value="yyyy-MM-dd" />
<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>
</appender> </appender>
<appender name="TheRFID" type="log4net.Appender.RollingFileAppender"> <appender name="TheRFID" type="log4net.Appender.RollingFileAppender">
<file value="logs/TheRFID-p-1-2.log"/> <file value="logs/TheRFID.log" />
<param name="Encoding" value="UTF-8" /> <param name="Encoding" value="UTF-8" />
<appendToFile value="true"/> <appendToFile value="true" />
<rollingStyle value="Date"/> <rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd"/> <datePattern value="yyyy-MM-dd" />
<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>
</appender> </appender>
<logger name="RollingLogFileAppender"> <logger name="RollingLogFileAppender">
<level value="Info" /> <level value="Info" />
<appender-ref ref="RollingLogFileAppender" /> <appender-ref ref="RollingLogFileAppender" />
...@@ -93,11 +91,11 @@ ...@@ -93,11 +91,11 @@
<appender-ref ref="TheRFID" /> <appender-ref ref="TheRFID" />
</logger> </logger>
<root> <root>
<level value="Info"/> <level value="Info" />
<appender-ref ref="RollingLogFileAppender"/> <appender-ref ref="RollingLogFileAppender" />
</root> </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" />
</startup> </startup>
</configuration> </configuration>
\ No newline at end of file \ No newline at end of file
...@@ -83,6 +83,9 @@ agv客户端启动时需要设置状态为none。 ...@@ -83,6 +83,9 @@ agv客户端启动时需要设置状态为none。
20200228 20200228
出料料架修改,增加 realRfid ,表示真实的料架号 出料料架修改,增加 realRfid ,表示真实的料架号
20200303
httpPost方法增加验证,若ping不同则不再发送。
......
...@@ -12,6 +12,7 @@ using System.Security.Cryptography; ...@@ -12,6 +12,7 @@ using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.X509Certificates;
using System.Reflection; using System.Reflection;
using log4net; using log4net;
using System.Net.NetworkInformation;
namespace OnlineStore.Common namespace OnlineStore.Common
{ {
...@@ -22,6 +23,28 @@ namespace OnlineStore.Common ...@@ -22,6 +23,28 @@ namespace OnlineStore.Common
{ {
return Post(url, paramData, Encoding.UTF8); return Post(url, paramData, Encoding.UTF8);
} }
public static bool PingURLIP(string url, int ms=100)
{
string[] urlArray = url.Split('/');
if (urlArray.Length > 3)
{
string ip = urlArray[2];
Ping pingSender = new Ping();
PingReply reply = pingSender.Send(ip, ms);//第一个参数为ip地址,第二个参数为ping的时间
if (reply.Status == IPStatus.Success)
{
//通
return true;
}
else
{
//不通
return false;
}
}
return true;
}
/// <summary> /// <summary>
/// ///
...@@ -33,7 +56,15 @@ namespace OnlineStore.Common ...@@ -33,7 +56,15 @@ namespace OnlineStore.Common
public static Operation Post(string url, Operation operation, bool simulate) public static Operation Post(string url, Operation operation, bool simulate)
{ {
try try
{ //如果Op=0或者Op=5,先拼Ip,不通不发送
if (operation.op < 0 || operation.op.Equals(5))
{ {
if (PingURLIP(url, 100).Equals(false))
{
return null;
}
}
if (simulate) if (simulate)
{//模拟服务器返回 {//模拟服务器返回
operation.status = 200; operation.status = 200;
...@@ -83,6 +114,13 @@ namespace OnlineStore.Common ...@@ -83,6 +114,13 @@ namespace OnlineStore.Common
private static int isLog = ConfigAppSettings.GetIntValue(Setting_Init.Server_Log_Open); private static int isLog = ConfigAppSettings.GetIntValue(Setting_Init.Server_Log_Open);
public static string Post(string url, string paramData, Encoding encoding) public static string Post(string url, string paramData, Encoding encoding)
{ {
//如果Op=0或者Op=5,先拼Ip,不通不发送
if (PingURLIP(url, 100).Equals(false))
{
return null;
}
if (isLog == 1) if (isLog == 1)
{ {
LOGGER.Info("给服务器发送数据【" + paramData + "】 "); LOGGER.Info("给服务器发送数据【" + paramData + "】 ");
...@@ -111,7 +149,7 @@ namespace OnlineStore.Common ...@@ -111,7 +149,7 @@ namespace OnlineStore.Common
} }
catch (Exception e) catch (Exception e)
{ {
LogUtil.error( "POST ERROR:" + e.ToString(), 1); LogUtil.error("POST ERROR:" + e.ToString(), 1);
} }
if (!result.Contains("null") && result.Length != 0) if (!result.Contains("null") && result.Length != 0)
{ {
......
...@@ -54,6 +54,8 @@ namespace OnlineStore.Common ...@@ -54,6 +54,8 @@ namespace OnlineStore.Common
private static List<string> lasErrorLogList = new List<string>(); private static List<string> lasErrorLogList = new List<string>();
public static void error(string errorMsg, int type, int spanSeconds = 10) public static void error(string errorMsg, int type, int spanSeconds = 10)
{ {
try
{
if (lastErrorLogTime.ContainsKey(type)) if (lastErrorLogTime.ContainsKey(type))
{ {
TimeSpan span = DateTime.Now - lastErrorLogTime[type]; TimeSpan span = DateTime.Now - lastErrorLogTime[type];
...@@ -74,6 +76,11 @@ namespace OnlineStore.Common ...@@ -74,6 +76,11 @@ namespace OnlineStore.Common
error(LOGGER, errorMsg); error(LOGGER, errorMsg);
} }
} }
catch (Exception ex)
{
LOGGER.Error(" 打印日志【" + type + "-" + errorMsg + "】出错:" + ex.ToString());
}
}
public static void error(ILog log, string errorMsg) public static void error(ILog log, string errorMsg)
{ {
log.Error(" - " + errorMsg); log.Error(" - " + errorMsg);
......
...@@ -47,6 +47,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -47,6 +47,7 @@ namespace OnlineStore.DeviceLibrary
/// 是否有料架在来的路上 /// 是否有料架在来的路上
/// </summary> /// </summary>
public bool WaitShelfEnter=false; public bool WaitShelfEnter=false;
private int logType = 1000;
public AC_BOX_Bean(AC_BOX_Config config) public AC_BOX_Bean(AC_BOX_Config config)
{ {
Init(); Init();
...@@ -63,6 +64,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -63,6 +64,7 @@ namespace OnlineStore.DeviceLibrary
IoCheckTimer.Enabled = false; IoCheckTimer.Enabled = false;
IoCheckTimer.Elapsed += IoCheckTimer_Elapsed; IoCheckTimer.Elapsed += IoCheckTimer_Elapsed;
logType = config.DeviceID * 1000;
//添加调试 //添加调试
IsDebug = config.IsInDebug.Equals(1); IsDebug = config.IsInDebug.Equals(1);
Name = (" BOX_" + config.DeviceID + " ").ToUpper(); Name = (" BOX_" + config.DeviceID + " ").ToUpper();
...@@ -132,7 +134,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -132,7 +134,6 @@ namespace OnlineStore.DeviceLibrary
moveAxisList.Add(Config.InOut_Axis); moveAxisList.Add(Config.InOut_Axis);
moveAxisList.Add(Config.Comp_Axis); moveAxisList.Add(Config.Comp_Axis);
} }
/// <summary> /// <summary>
/// 开始运行 /// 开始运行
/// </summary> /// </summary>
......
...@@ -75,7 +75,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -75,7 +75,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO io = Config.getWaitIO(wait.IoType); ConfigIO io = Config.getWaitIO(wait.IoType);
WarnMsg = Name + " 等待信号" + io.DisplayStr + "=" + wait.IoValue + "超时!"; WarnMsg = Name + " 等待信号" + io.DisplayStr + "=" + wait.IoValue + "超时!";
Alarm(StoreAlarmType.IoSingleTimeOut, io.ElectricalDefinition, WarnMsg, MoveInfo.MoveType); Alarm(StoreAlarmType.IoSingleTimeOut, io.ElectricalDefinition, WarnMsg, MoveInfo.MoveType);
LogUtil.error(Name + wait.IoType + "等待信号(" + io.DisplayStr + "=" + wait.IoValue + ") 超时", 14); LogUtil.error(Name + wait.IoType + "等待信号(" + io.DisplayStr + "=" + wait.IoValue + ") 超时", logType+14);
isOk = false; isOk = false;
break; break;
} }
...@@ -178,7 +178,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -178,7 +178,7 @@ namespace OnlineStore.DeviceLibrary
{ {
WarnMsg = Name + "【" + MoveInfo.MoveType + "】【" + MoveInfo.MoveStep + "】等待超时 [" + NotOkMsg WarnMsg = Name + "【" + MoveInfo.MoveType + "】【" + MoveInfo.MoveStep + "】等待超时 [" + NotOkMsg
+ "]已等待[" + Math.Round(span.TotalSeconds, 1) + "]秒"; + "]已等待[" + Math.Round(span.TotalSeconds, 1) + "]秒";
LogUtil.error(WarnMsg, 100); LogUtil.error(WarnMsg, logType+100);
Alarm(StoreAlarmType.IoSingleTimeOut, "", WarnMsg, MoveInfo.MoveType); Alarm(StoreAlarmType.IoSingleTimeOut, "", WarnMsg, MoveInfo.MoveType);
} }
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!