Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 4793d737
由
几米阳光
编写于
2019-01-10 09:28:18 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
08538995
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
116 行增加
和
116 行删除
source/DeviceLibrary/PanasonicServo/ACServerManager_Partial.cs
source/DeviceLibrary/PanasonicServo/ACServerManager_Partial.cs
查看文件 @
4793d73
...
@@ -47,111 +47,111 @@ namespace OnlineStore.DeviceLibrary
...
@@ -47,111 +47,111 @@ namespace OnlineStore.DeviceLibrary
SendData
(
portName
,
data
);
SendData
(
portName
,
data
);
System
.
Threading
.
Thread
.
Sleep
(
sleepS
);
System
.
Threading
.
Thread
.
Sleep
(
sleepS
);
}
}
public
static
void
SendStr
(
string
portName
,
string
str
)
//
public static void SendStr(string portName, string str)
{
//
{
byte
[]
data
=
SerialBean
.
StringToByte
(
str
);
//
byte[] data = SerialBean.StringToByte(str);
data
[
data
.
Length
-
1
]
=
0x00
;
//
data[data.Length - 1] = 0x00;
data
[
data
.
Length
-
2
]
=
0x00
;
//
data[data.Length - 2] = 0x00;
data
=
ACCMDManager
.
buildCheckData
(
data
,
data
.
Length
-
2
);
//
data = ACCMDManager.buildCheckData(data, data.Length - 2);
SendData
(
portName
,
data
);
//
SendData(portName, data);
}
//
}
private
static
void
DataReceived
(
string
portName
,
object
sender
,
SerialDataReceivedEventArgs
e
,
byte
[]
bits
)
//
private static void DataReceived(string portName, object sender, SerialDataReceivedEventArgs e, byte[] bits)
{
//
{
string
strSend
=
""
;
//
string strSend = "";
for
(
int
i
=
0
;
i
<
bits
.
Length
;
i
++)
//
for (int i = 0; i < bits.Length; i++)
{
//
{
strSend
+=
string
.
Format
(
"{0:X2} "
,
bits
[
i
]);
//
strSend += string.Format("{0:X2} ", bits[i]);
}
//
}
if
(
IsShowMsg
)
//
if (IsShowMsg)
{
//
{
LogUtil
.
info
(
"串口"
+
portName
+
" 收到数据:"
+
strSend
+
""
);
//
LogUtil.info( "串口" + portName + " 收到数据:" + strSend + "");
}
//
}
string
str
=
""
;
//
string str = "";
string
strFromat
=
"{0:X2}"
;
//
string strFromat = "{0:X2}";
byte
slvAddr
=
bits
[
0
];
//
byte slvAddr = bits[0];
int
lenth
=
bits
[
2
];
//
int lenth = bits[2];
byte
cmd
=
bits
[
1
];
//
byte cmd = bits[1];
if
(
cmd
.
Equals
(
ACCMDManager
.
CMD_ReadRegisters
)
&&
bits
.
Length
>
6
)
//
if (cmd.Equals(ACCMDManager.CMD_ReadRegisters) && bits.Length > 6)
{
//
{
if
(
PreReadAddr
.
Equals
(
ACCMDManager
.
TargetPostion
))
//
if (PreReadAddr.Equals(ACCMDManager.TargetPostion))
{
//
{
if
(
lenth
==
4
)
//
if (lenth == 4)
{
//
{
str
=
string
.
Format
(
strFromat
,
bits
[
5
])
+
string
.
Format
(
strFromat
,
bits
[
6
])
+
string
.
Format
(
strFromat
,
bits
[
3
])
+
string
.
Format
(
strFromat
,
bits
[
4
]);
//
str = string.Format(strFromat, bits[5]) + string.Format(strFromat, bits[6]) + string.Format(strFromat, bits[3]) + string.Format(strFromat, bits[4]);
int
value
=
Convert
.
ToInt32
(
str
.
Trim
().
Replace
(
" "
,
""
),
16
);
//
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData
(
portName
,
slvAddr
,
ACCMDManager
.
TargetPostion
,
value
);
//
SaveData(portName, slvAddr, ACCMDManager.TargetPostion, value);
}
//
}
}
//
}
else
if
(
PreReadAddr
.
Equals
(
ACCMDManager
.
ActualPosition
))
//
else if (PreReadAddr.Equals(ACCMDManager.ActualPosition))
{
//
{
if
(
lenth
==
4
)
//
if (lenth == 4)
{
//
{
str
=
string
.
Format
(
strFromat
,
bits
[
5
])
+
string
.
Format
(
strFromat
,
bits
[
6
])
+
string
.
Format
(
strFromat
,
bits
[
3
])
+
string
.
Format
(
strFromat
,
bits
[
4
]);
//
str = string.Format(strFromat, bits[5]) + string.Format(strFromat, bits[6]) + string.Format(strFromat, bits[3]) + string.Format(strFromat, bits[4]);
int
value
=
Convert
.
ToInt32
(
str
.
Trim
().
Replace
(
" "
,
""
),
16
);
//
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData
(
portName
,
slvAddr
,
ACCMDManager
.
ActualPosition
,
value
);
//
SaveData(portName, slvAddr, ACCMDManager.ActualPosition, value);
}
//
}
}
//
}
else
//
else
{
//
{
for
(
int
i
=
3
;
i
<
3
+
lenth
;
i
++)
//
for (int i = 3; i < 3 + lenth; i++)
{
//
{
str
+=
string
.
Format
(
"{0:X2} "
,
bits
[
i
]);
//
str += string.Format("{0:X2} ", bits[i]);
}
//
}
str
=
str
.
Replace
(
" "
,
""
);
//
str = str.Replace(" ", "");
int
value
=
Convert
.
ToInt32
(
str
,
16
);
//
int value = Convert.ToInt32(str, 16);
LogUtil
.
info
(
"转换后结果:"
+
value
+
""
);
//
LogUtil.info("转换后结果:" + value + "");
//this.richTextBox1.AppendText("转换后结果:" + value + "");
//
//this.richTextBox1.AppendText("转换后结果:" + value + "");
//Console.WriteLine("转换后结果:" + value);
//
//Console.WriteLine("转换后结果:" + value);
}
//
}
//MessageBox.Show("收到数据:"+value);
//
//MessageBox.Show("收到数据:"+value);
}
//
}
else
if
(
cmd
.
Equals
(
ACCMDManager
.
CMD_ReadCoil
)
&&
bits
.
Length
>=
6
)
//
else if (cmd.Equals(ACCMDManager.CMD_ReadCoil) && bits.Length >= 6)
{
//
{
if
(
PreReadCoilAddr
.
Equals
(
ACCMDManager
.
ServerOn_Addr
))
//
if (PreReadCoilAddr.Equals(ACCMDManager.ServerOn_Addr))
{
//
{
if
(
lenth
==
1
)
//
if (lenth == 1)
{
//
{
str
=
string
.
Format
(
strFromat
,
bits
[
3
]);
//
str = string.Format(strFromat, bits[3]);
int
value
=
Convert
.
ToInt32
(
str
.
Trim
().
Replace
(
" "
,
""
),
16
);
//
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData
(
portName
,
slvAddr
,
ACCMDManager
.
ServerOn_Addr
,
value
);
//
SaveData(portName, slvAddr, ACCMDManager.ServerOn_Addr, value);
}
//
}
}
//
}
else
//
else
if
(
PreReadCoilAddr
.
Equals
(
ACCMDManager
.
Alarm_Status
))
//
if (PreReadCoilAddr.Equals(ACCMDManager.Alarm_Status))
{
//
{
if
(
lenth
==
1
)
//
if (lenth == 1)
{
//
{
str
=
string
.
Format
(
strFromat
,
bits
[
3
]);
//
str = string.Format(strFromat, bits[3]);
int
value
=
Convert
.
ToInt32
(
str
.
Trim
().
Replace
(
" "
,
""
),
16
);
//
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData
(
portName
,
slvAddr
,
ACCMDManager
.
Alarm_Status
,
value
);
//
SaveData(portName, slvAddr, ACCMDManager.Alarm_Status, value);
}
//
}
}
//
}
else
if
(
PreReadCoilAddr
.
Equals
(
ACCMDManager
.
BUSYStatus
))
//
else if (PreReadCoilAddr.Equals(ACCMDManager.BUSYStatus))
{
//
{
if
(
lenth
==
1
)
//
if (lenth == 1)
{
//
{
str
=
string
.
Format
(
strFromat
,
bits
[
3
]);
//
str = string.Format(strFromat, bits[3]);
int
value
=
Convert
.
ToInt32
(
str
.
Trim
().
Replace
(
" "
,
""
),
16
);
//
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData
(
portName
,
slvAddr
,
ACCMDManager
.
BUSYStatus
,
value
);
//
SaveData(portName, slvAddr, ACCMDManager.BUSYStatus, value);
}
//
}
}
//
}
else
if
(
PreReadCoilAddr
.
Equals
(
ACCMDManager
.
HOME_CMP_Status
))
//
else if (PreReadCoilAddr.Equals(ACCMDManager.HOME_CMP_Status))
{
//
{
if
(
lenth
==
1
)
//
if (lenth == 1)
{
//
{
str
=
string
.
Format
(
strFromat
,
bits
[
3
]);
//
str = string.Format(strFromat, bits[3]);
int
value
=
Convert
.
ToInt32
(
str
.
Trim
().
Replace
(
" "
,
""
),
16
);
//
int value = Convert.ToInt32(str.Trim().Replace(" ", ""), 16);
SaveData
(
portName
,
slvAddr
,
ACCMDManager
.
HOME_CMP_Status
,
value
);
//
SaveData(portName, slvAddr, ACCMDManager.HOME_CMP_Status, value);
}
//
}
}
//
}
}
//
}
if
(
strSend
.
Equals
(
""
))
//
if (strSend.Equals(""))
{
//
{
return
;
//
return;
}
//
}
}
//
}
public
static
void
SaveData
(
string
portName
,
byte
slvAddr
,
string
regAddr
,
int
value
)
public
static
void
SaveData
(
string
portName
,
byte
slvAddr
,
string
regAddr
,
int
value
)
{
{
...
@@ -173,17 +173,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -173,17 +173,17 @@ namespace OnlineStore.DeviceLibrary
LastDataMap
.
Add
(
slvAddr
,
map
);
LastDataMap
.
Add
(
slvAddr
,
map
);
}
}
}
}
public
static
RegisterInfo
GetData
(
string
portName
,
byte
slvAddr
,
string
regAddr
)
//
public static RegisterInfo GetData(string portName, byte slvAddr, string regAddr)
{
//
{
if
(
LastDataMap
.
ContainsKey
(
slvAddr
))
//
if (LastDataMap.ContainsKey(slvAddr))
{
//
{
if
(
LastDataMap
[
slvAddr
].
ContainsKey
(
regAddr
))
//
if (LastDataMap[slvAddr].ContainsKey(regAddr))
{
//
{
return
LastDataMap
[
slvAddr
][
regAddr
];
//
return LastDataMap[slvAddr][regAddr];
}
//
}
}
//
}
return
null
;
//
return null;
}
//
}
public
static
void
SendData
(
string
portName
,
byte
[]
data
,
int
reviceLength
)
public
static
void
SendData
(
string
portName
,
byte
[]
data
,
int
reviceLength
)
{
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论