Commit 4c2365c5 LN

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

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