Compare commits

...

10 Commits

Author SHA1 Message Date
17860779768
8a92dd3eea 20230406Change1 2023-04-06 12:06:25 +08:00
17860779768
fd04fc4ea0 20230406Change 2023-04-06 08:57:18 +08:00
17860779768
940b9c9160 20230331 2023-03-31 11:06:56 +08:00
17860779768
03a74cc536 20230327Change 2023-03-27 09:18:12 +08:00
17860779768
249b04a370 20230324Change1 2023-03-24 18:36:21 +08:00
17860779768
1497a1fedf 20230324Change 2023-03-24 09:54:33 +08:00
17860779768
229ec1a92d 20230321Change 2023-03-21 08:27:10 +08:00
17860779768
59e525792d 20230315Change1 2023-03-15 17:05:46 +08:00
17860779768
8580393da4 20230315Change 2023-03-15 08:44:52 +08:00
17860779768
1e5327bc48 20230314Change 2023-03-14 08:41:59 +08:00
49 changed files with 3881 additions and 4055 deletions

120
A020.sln
View File

@ -30,12 +30,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BRS.UI.Model.Winform", "src
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BRS.Process.A020", "src\BRS.Process.A020\BRS.Process.A020.csproj", "{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BRS.Device.OmronPLC", "src\BRS.Device.OmronPLC\BRS.Device.OmronPLC.csproj", "{560CC80B-389B-46FC-9B8C-DA1D62A555D9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XKRS.Device.NbtRobot", "src\BRS.Device.NbtRobot\XKRS.Device.NbtRobot.csproj", "{8FA74161-0D03-408F-811A-A244C9027BFB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XKRS.Device.MelsecPLC", "src\XKRS.Device.MelsecPLC\XKRS.Device.MelsecPLC.csproj", "{887F9454-B1F3-47B8-B9F7-48BEBA47193D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XKRS.Device.TCPSever", "src\XKRS.Device.TCPSever\XKRS.Device.TCPSever.csproj", "{91739E90-6A8E-433D-B244-5325F8848064}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -47,6 +45,9 @@ Global
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
ReleaseWithDbg|Any CPU = ReleaseWithDbg|Any CPU
ReleaseWithDbg|x64 = ReleaseWithDbg|x64
ReleaseWithDbg|x86 = ReleaseWithDbg|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@ -67,6 +68,12 @@ Global
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.Release|x64.Build.0 = Release|x64
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.Release|x86.ActiveCfg = Release|Any CPU
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.Release|x86.Build.0 = Release|Any CPU
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.ReleaseWithDbg|x64.ActiveCfg = Release|x64
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.ReleaseWithDbg|x64.Build.0 = Release|x64
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{987308DD-8BAA-463A-94E2-77D62E01A5BF}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.Debug|x64.ActiveCfg = Debug|x64
@ -85,6 +92,12 @@ Global
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.Release|x64.Build.0 = Release|x64
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.Release|x86.ActiveCfg = Release|Any CPU
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.Release|x86.Build.0 = Release|Any CPU
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.ReleaseWithDbg|x64.ActiveCfg = Release|x64
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.ReleaseWithDbg|x64.Build.0 = Release|x64
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.Debug|x64.ActiveCfg = Debug|x64
@ -103,6 +116,12 @@ Global
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.Release|x64.Build.0 = Release|x64
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.Release|x86.ActiveCfg = Release|Any CPU
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.Release|x86.Build.0 = Release|Any CPU
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.ReleaseWithDbg|x64.ActiveCfg = Release|x64
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.ReleaseWithDbg|x64.Build.0 = Release|x64
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{197C5AA8-9609-4D1C-B1E3-5879006EAAF4}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
{E6429C64-92B3-46A2-B35E-579856D47F62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E6429C64-92B3-46A2-B35E-579856D47F62}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E6429C64-92B3-46A2-B35E-579856D47F62}.Debug|x64.ActiveCfg = Debug|x64
@ -121,6 +140,12 @@ Global
{E6429C64-92B3-46A2-B35E-579856D47F62}.Release|x64.Build.0 = Release|x64
{E6429C64-92B3-46A2-B35E-579856D47F62}.Release|x86.ActiveCfg = Release|Any CPU
{E6429C64-92B3-46A2-B35E-579856D47F62}.Release|x86.Build.0 = Release|Any CPU
{E6429C64-92B3-46A2-B35E-579856D47F62}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{E6429C64-92B3-46A2-B35E-579856D47F62}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{E6429C64-92B3-46A2-B35E-579856D47F62}.ReleaseWithDbg|x64.ActiveCfg = Release|x64
{E6429C64-92B3-46A2-B35E-579856D47F62}.ReleaseWithDbg|x64.Build.0 = Release|x64
{E6429C64-92B3-46A2-B35E-579856D47F62}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{E6429C64-92B3-46A2-B35E-579856D47F62}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.Debug|x64.ActiveCfg = Debug|x64
@ -139,6 +164,12 @@ Global
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.Release|x64.Build.0 = Release|x64
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.Release|x86.ActiveCfg = Release|Any CPU
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.Release|x86.Build.0 = Release|Any CPU
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.ReleaseWithDbg|x64.ActiveCfg = Release|x64
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.ReleaseWithDbg|x64.Build.0 = Release|x64
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.Debug|x64.ActiveCfg = Debug|x64
@ -157,6 +188,12 @@ Global
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.Release|x64.Build.0 = Release|x64
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.Release|x86.ActiveCfg = Release|Any CPU
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.Release|x86.Build.0 = Release|Any CPU
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.ReleaseWithDbg|x64.ActiveCfg = Release|x64
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.ReleaseWithDbg|x64.Build.0 = Release|x64
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{741F6491-57C7-479A-B391-09BBA9FBA9DC}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -175,42 +212,12 @@ Global
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.Release|x64.Build.0 = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.Release|x86.ActiveCfg = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.Release|x86.Build.0 = Release|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug|x64.ActiveCfg = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug|x64.Build.0 = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug|x86.ActiveCfg = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug|x86.Build.0 = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug1|Any CPU.Build.0 = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug1|x64.ActiveCfg = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug1|x64.Build.0 = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug1|x86.ActiveCfg = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Debug1|x86.Build.0 = Debug|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Release|Any CPU.Build.0 = Release|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Release|x64.ActiveCfg = Release|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Release|x64.Build.0 = Release|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Release|x86.ActiveCfg = Release|Any CPU
{560CC80B-389B-46FC-9B8C-DA1D62A555D9}.Release|x86.Build.0 = Release|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug|x64.ActiveCfg = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug|x64.Build.0 = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug|x86.ActiveCfg = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug|x86.Build.0 = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug1|Any CPU.Build.0 = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug1|x64.ActiveCfg = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug1|x64.Build.0 = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug1|x86.ActiveCfg = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Debug1|x86.Build.0 = Debug|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Release|Any CPU.Build.0 = Release|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Release|x64.ActiveCfg = Release|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Release|x64.Build.0 = Release|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Release|x86.ActiveCfg = Release|Any CPU
{8FA74161-0D03-408F-811A-A244C9027BFB}.Release|x86.Build.0 = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.ReleaseWithDbg|x64.ActiveCfg = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.ReleaseWithDbg|x64.Build.0 = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -229,6 +236,36 @@ Global
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.Release|x64.Build.0 = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.Release|x86.ActiveCfg = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.Release|x86.Build.0 = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.ReleaseWithDbg|x64.ActiveCfg = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.ReleaseWithDbg|x64.Build.0 = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{887F9454-B1F3-47B8-B9F7-48BEBA47193D}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug|Any CPU.Build.0 = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug|x64.ActiveCfg = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug|x64.Build.0 = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug|x86.ActiveCfg = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug|x86.Build.0 = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug1|Any CPU.Build.0 = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug1|x64.ActiveCfg = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug1|x64.Build.0 = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug1|x86.ActiveCfg = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Debug1|x86.Build.0 = Debug|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Release|Any CPU.ActiveCfg = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Release|Any CPU.Build.0 = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Release|x64.ActiveCfg = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Release|x64.Build.0 = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Release|x86.ActiveCfg = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.Release|x86.Build.0 = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.ReleaseWithDbg|Any CPU.ActiveCfg = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.ReleaseWithDbg|Any CPU.Build.0 = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.ReleaseWithDbg|x64.ActiveCfg = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.ReleaseWithDbg|x64.Build.0 = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.ReleaseWithDbg|x86.ActiveCfg = Release|Any CPU
{91739E90-6A8E-433D-B244-5325F8848064}.ReleaseWithDbg|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -241,9 +278,8 @@ Global
{DD02C60E-560B-40C0-AD7F-523F0B4AA4FD} = {97C226B4-971C-4802-8D35-14E2980FF0C6}
{741F6491-57C7-479A-B391-09BBA9FBA9DC} = {97C226B4-971C-4802-8D35-14E2980FF0C6}
{9EB9DFC1-C78A-46C0-826A-5ED1A08232C0} = {DD1CE747-341A-4419-8398-0D482E02DE54}
{560CC80B-389B-46FC-9B8C-DA1D62A555D9} = {5DB27B2D-14A5-441F-A861-BAFDB7BAA05B}
{8FA74161-0D03-408F-811A-A244C9027BFB} = {5DB27B2D-14A5-441F-A861-BAFDB7BAA05B}
{887F9454-B1F3-47B8-B9F7-48BEBA47193D} = {5DB27B2D-14A5-441F-A861-BAFDB7BAA05B}
{91739E90-6A8E-433D-B244-5325F8848064} = {5DB27B2D-14A5-441F-A861-BAFDB7BAA05B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4BF9CC66-BB0E-4400-BCF8-5BF7F5DA800A}

View File

@ -96,6 +96,15 @@
<HintPath>..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="STTech.BytesIO.Core, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.BytesIO.Core.2.9.3\lib\net45\STTech.BytesIO.Core.dll</HintPath>
</Reference>
<Reference Include="STTech.BytesIO.Tcp, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.BytesIO.Tcp.2.9.3\lib\net45\STTech.BytesIO.Tcp.dll</HintPath>
</Reference>
<Reference Include="STTech.CodePlus, Version=1.4.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.CodePlus.1.4.0\lib\net45\STTech.CodePlus.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
@ -147,6 +156,7 @@
<Compile Include="DeviceBase\IODeviceBase.cs" />
<Compile Include="DeviceBase\RobotBase.cs" />
<Compile Include="DeviceBase\SerialPortBase.cs" />
<Compile Include="DeviceBase\TCPSeverBase.cs" />
<Compile Include="DeviceBase\VisionEngineBase.cs" />
<Compile Include="DeviceBase\MessageQueueBase.cs" />
<Compile Include="DeviceBase\ModbusASCIICommBase.cs" />

View File

@ -135,587 +135,8 @@ namespace BRS.Common.Base
public class RobotInitialConfigBase : InitialConfigBase//, IWarningSetCollection
{
[Category("驱动类型")]
[Description("驱动类型")]
[DisplayName("驱动类型")]
//[TypeConverter(typeof(DeviceTypeConverter<RobotBase>))]
[TypeConverter(typeof(DeviceTypeSelectorConverter<RobotBase>))]
public override string DriverType { get; set; }
#region
[Category("1.机械臂关键点位")]
[Description("机械臂起始位置P0")]
[DisplayName("机械臂起始位置P0")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotOriginPoint { get; set; } = new RobotPoint();
[Category("2.机械臂上料关键点位")]
[Description("1号机1号位抓取点位置P101")]
[DisplayName("1号机1号位抓取点位置P101")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance1GrabPoint { get; set; } = new RobotPoint();
[Category("2.机械臂上料关键点位")]
[Description("1号机2号位抓取点位置P201")]
[DisplayName("1号机2号位抓取点位置P201")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance2GrabPoint { get; set; } = new RobotPoint();
[Category("2.机械臂上料关键点位")]
[Description("2号机1号位抓取点位置P101")]
[DisplayName("2号机1号位抓取点位置P101")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance1GrabPoint { get; set; } = new RobotPoint();
[Category("2.机械臂上料关键点位")]
[Description("1号机2号位抓取点位置P201")]
[DisplayName("2号机2号位抓取点位置P201")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance2GrabPoint { get; set; } = new RobotPoint();
[Category("2.机械臂上料关键点位")]
[Description("1号机1号位放料位置P102")]
[DisplayName("1号机1号位放料位置P102")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance1UpPlacePoint { get; set; } = new RobotPoint();
[Category("2.机械臂上料关键点位")]
[Description("1号机2号位放料位置P202")]
[DisplayName("1号机2号位放料位置P202")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance2UpPlacePoint { get; set; } = new RobotPoint();
[Category("2.机械臂上料关键点位")]
[Description("2号机1号位放料位置P102")]
[DisplayName("2号机1号位放料位置P102")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance1UpPlacePoint { get; set; } = new RobotPoint();
[Category("2.机械臂上料关键点位")]
[Description("2号机2号位放料位置P202")]
[DisplayName("2号机2号位放料位置P202")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance2UpPlacePoint { get; set; } = new RobotPoint();
#endregion
#region
[Category("3.机械臂上料项目")]
[Description("1号机1号位上料点组")]
[DisplayName("1号机1号位上料点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotMachine1Entrance1UpPoints { get; set; } = new List<RobotPoint>();
[Category("3.机械臂上料项目")]
[Description("1号机2号位上料点组")]
[DisplayName("1号机2号位上料点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotMachine1Entrance2UpPoints { get; set; } = new List<RobotPoint>();
[Category("3.机械臂上料项目")]
[Description("2号机1号位上料点组")]
[DisplayName("2号机1号位上料点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotMachine2Entrance1UpPoints { get; set; } = new List<RobotPoint>();
[Category("3.机械臂上料项目")]
[Description("2号机2号位上料点组")]
[DisplayName("2号机2号位上料点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotMachine2Entrance2UpPoints { get; set; } = new List<RobotPoint>();
#endregion
#region
[Category("4.机械臂取料(下料)关键点位")]
[Description("1号机1号位取料(下料)点位置P107")]
[DisplayName("1号机1号位取料(下料)点位置P107")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance1TakeTyrePoint { get; set; } = new RobotPoint();
//P107点位斜向上
[Category("4.机械臂取料(下料)关键点位")]
[Description("1号机1号位取料(下料)点位置P107斜上方")]
[DisplayName("1号机1号位取料(下料)点位置P107斜上方")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance1TakeTyreTiltUpperPoint { get; set; } = new RobotPoint();
[Category("4.机械臂取料(下料)关键点位")]
[Description("1号机2号位取料(下料)点位置P207")]
[DisplayName("1号机2号位取料(下料)点位置P207")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance2TakeTyrePoint { get; set; } = new RobotPoint();
//P207斜上方
[Category("4.机械臂取料(下料)关键点位")]
[Description("1号机2号位取料(下料)点位置P207斜上方")]
[DisplayName("1号机2号位取料(下料)点位置P207斜上方")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance2TakeTyreTiltUpperPoint { get; set; } = new RobotPoint();
[Category("4.机械臂取料(下料)关键点位")]
[Description("2号机1号位取料(下料)点位置P107")]
[DisplayName("2号机1号位取料(下料)点位置P107")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance1TakeTyrePoint { get; set; } = new RobotPoint();
//2号机1号位下料点斜上方
[Category("4.机械臂取料(下料)关键点位")]
[Description("2号机1号位取料(下料)点位置P107斜上方")]
[DisplayName("2号机1号位取料(下料)点位置P107斜上方")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance1TakeTyreTiltUpperPoint { get; set; } = new RobotPoint();
[Category("4.机械臂取料(下料)关键点位")]
[Description("1号机2号位取料(下料)点位置P207")]
[DisplayName("2号机2号位取料(下料)点位置P207")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance2TakeTyrePoint { get; set; } = new RobotPoint();
//2号机1号位下料点斜上方
[Category("4.机械臂取料(下料)关键点位")]
[Description("2号机2号位取料(下料)点位置P207斜上方")]
[DisplayName("2号机2号位取料(下料)点位置P207斜上方")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance2TakeTyreTiltUpperPoint { get; set; } = new RobotPoint();
[Category("4.机械臂取料(下料)关键点位")]
[Description("1号机1号位放置点位置P108")]
[DisplayName("1号机1号位放置点位置P108")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance1DownPlacePoint { get; set; } = new RobotPoint();
[Category("4.机械臂取料(下料)关键点位")]
[Description("1号机2号位放置点位置P208")]
[DisplayName("1号机2号位放置点位置P208")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine1Entrance2DownPlacePoint { get; set; } = new RobotPoint();
[Category("4.机械臂取料(下料)关键点位")]
[Description("2号机1号位放置点位置P108")]
[DisplayName("2号机1号位放置点位置P108")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance1DownPlacePoint { get; set; } = new RobotPoint();
[Category("4.机械臂取料(下料)关键点位")]
[Description("1号机2号位放置点位置P208")]
[DisplayName("2号机2号位放置点位置P208")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotMachine2Entrance2DownPlacePoint { get; set; } = new RobotPoint();
#endregion
#region
[Category("5.机械臂取料(下料)项目")]
[Description("1号机1号位取料(下料)点组")]
[DisplayName("1号机1号位取料(下料)点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotMachine1Entrance1DownPoints { get; set; } = new List<RobotPoint>();
[Category("5.机械臂取料(下料)项目")]
[Description("1号机2号位取料(下料)点组")]
[DisplayName("1号机2号位取料(下料)点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotMachine1Entrance2DownPoints { get; set; } = new List<RobotPoint>();
[Category("5.机械臂取料(下料)项目")]
[Description("2号机1号位取料(下料)点组")]
[DisplayName("2号机1号位取料(下料)点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotMachine2Entrance1DownPoints { get; set; } = new List<RobotPoint>();
[Category("5.机械臂取料(下料)项目")]
[Description("2号机2号位取料(下料)点组")]
[DisplayName("2号机2号位取料(下料)点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotMachine2Entrance2DownPoints { get; set; } = new List<RobotPoint>();
#endregion
[Category("机械臂上料项目")]
[Description("路径上料移动点组")]
[DisplayName("路径上料移动点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotUpMovePoints { get; set; } = new List<RobotPoint>();
[Category("机械臂上料项目")]
[Description("路径上料返回点组")]
[DisplayName("路径上料返回点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
//[TypeConverter(typeof(SimpleCollectionConvert<double>))]
public List<RobotPoint> RobotUPBackPoints { get; set; } = new List<RobotPoint>();
[Category("机械臂下料项目")]
[Description("路径下料移动点组")]
[DisplayName("路径下料移动点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
public List<RobotPoint> RobotDownMovePoints { get; set; } = new List<RobotPoint>();
[Category("机械臂下料项目")]
[Description("路径下料返回点组")]
[DisplayName("路径下料返回点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
//[TypeConverter(typeof(SimpleCollectionConvert<double>))]
public List<RobotPoint> RobotDownBackPoints { get; set; } = new List<RobotPoint>();
[Category("机械臂下料项目")]
[Description("路径下料返回f辅助点组")]
[DisplayName("路径下料返回f辅助点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<RobotPoint>), typeof(UITypeEditor))]
//[TypeConverter(typeof(SimpleCollectionConvert<double>))]
public List<RobotPoint> ConfigRobotDownBackPoints { get; set; } = new List<RobotPoint>();
[Category("机械臂项目")]
[Description("机械臂起始位置")]
[DisplayName("机械臂起始位置")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotInitPosition { get; set; } = new RobotPoint();
[Category("机械臂项目")]
[Description("机械臂运动点X1位")]
[DisplayName("机械臂运动点X1位")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint X1Point { get; set; } = new RobotPoint();
[Category("机械臂项目")]
[Description("机械臂运动点X2位")]
[DisplayName("机械臂运动点X2位")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint X2Point { get; set; } = new RobotPoint();
[Category("机械臂项目")]
[Description("轮胎半径")]
[DisplayName("轮胎半径")]
public string RobotTyReRadius { get; set; }
[Category("机械臂项目")]
[Description("轮胎尺寸")]
[DisplayName("轮胎尺寸")]
// [TypeConverter(typeof(CollectionCountConvert))]
// [Editor(typeof(ComplexCollectionEditor<string>), typeof(UITypeEditor))]
//[TypeConverter(typeof(SimpleCollectionConvert<double>))]
public string SetWhoolSize { get; set; } = "17";
[Category("机械臂夹爪项目")]
[Description("夹紧点")]
[DisplayName("夹紧点")]
public string GripperFastenPosition { get; set; } = "75000";
[Category("机械臂夹爪项目")]
[Description("放松点")]
[DisplayName("放松点")]
public string GripperLoosenPosition { get; set; } = "40000";
[Category("机械臂夹爪项目")]
[Description("全松点")]
[DisplayName("全松点")]
public string GripperAllLoosenPosition { get; set; } = "40000";
[Category("机械臂夹爪项目")]
[Description("全紧点")]
[DisplayName("全紧点")]
public string GripperAllFastenPosition { get; set; } = "92000";
#region 12
[Category("机械臂项目12寸轮胎")]
[Description("上料夹紧点")]
[DisplayName("上料夹紧点")]
public string Wheel12GripperUpFasten { get; set; } = "40000";
[Category("机械臂项目12寸轮胎")]
[Description("上料放松点")]
[DisplayName("上料放松点")]
public string Wheel12GripperUpLoosen { get; set; } = "75000";
[Category("机械臂项目12寸轮胎")]
[Description("下料夹紧点")]
[DisplayName("下料夹紧点")]
public string Wheel12GripperDownFasten { get; set; } = "40000";
[Category("机械臂项目12寸轮胎")]
[Description("下料放松点")]
[DisplayName("下料放松点")]
public string Wheel12GripperDownLoosen { get; set; } = "2000";
#endregion
#region 13
[Category("机械臂项目13寸轮胎")]
[Description("上料夹紧点")]
[DisplayName("上料夹紧点")]
public string Wheel13GripperUpFasten { get; set; } = "40000";
[Category("机械臂项目13寸轮胎")]
[Description("上料放松点")]
[DisplayName("上料放松点")]
public string Wheel13GripperUpLoosen { get; set; } = "75000";
[Category("机械臂项目13寸轮胎")]
[Description("下料夹紧点")]
[DisplayName("下料夹紧点")]
public string Wheel13GripperDownFasten { get; set; } = "40000";
[Category("机械臂项目13寸轮胎")]
[Description("下料放松点")]
[DisplayName("下料放松点")]
public string Wheel13GripperDownLoosen { get; set; } = "2000";
#endregion
#region 14
[Category("机械臂项目14寸轮胎")]
[Description("上料夹紧点")]
[DisplayName("上料夹紧点")]
public string Wheel14GripperUpFasten { get; set; } = "40000";
[Category("机械臂项目14寸轮胎")]
[Description("上料放松点")]
[DisplayName("上料放松点")]
public string Wheel14GripperUpLoosen { get; set; } = "75000";
[Category("机械臂项目14寸轮胎")]
[Description("下料夹紧点")]
[DisplayName("下料夹紧点")]
public string Wheel14GripperDownFasten { get; set; } = "40000";
[Category("机械臂项目14寸轮胎")]
[Description("下料放松点")]
[DisplayName("下料放松点")]
public string Wheel14GripperDownLoosen { get; set; } = "2000";
#endregion
#region 15
[Category("机械臂项目15寸轮胎")]
[Description("上料夹紧点")]
[DisplayName("上料夹紧点")]
public string Wheel15GripperUpFasten { get; set; } = "40000";
[Category("机械臂项目15寸轮胎")]
[Description("上料放松点")]
[DisplayName("上料放松点")]
public string Wheel15GripperUpLoosen { get; set; } = "75000";
[Category("机械臂项目15寸轮胎")]
[Description("下料夹紧点")]
[DisplayName("下料夹紧点")]
public string Wheel15GripperDownFasten { get; set; } = "40000";
[Category("机械臂项目15寸轮胎")]
[Description("下料放松点")]
[DisplayName("下料放松点")]
public string Wheel15GripperDownLoosen { get; set; } = "2000";
#endregion
#region 16
[Category("机械臂项目16寸轮胎")]
[Description("上料夹紧点")]
[DisplayName("上料夹紧点")]
public string Wheel16GripperUpFasten { get; set; } = "40000";
[Category("机械臂项目16寸轮胎")]
[Description("上料放松点")]
[DisplayName("上料放松点")]
public string Wheel16GripperUpLoosen { get; set; } = "75000";
[Category("机械臂项目16寸轮胎")]
[Description("下料夹紧点")]
[DisplayName("下料夹紧点")]
public string Wheel16GripperDownFasten { get; set; } = "40000";
[Category("机械臂项目16寸轮胎")]
[Description("下料放松点")]
[DisplayName("下料放松点")]
public string Wheel16GripperDownLoosen { get; set; } = "2000";
#endregion
#region 17
[Category("机械臂项目17寸轮胎")]
[Description("上料夹紧点")]
[DisplayName("上料夹紧点")]
public string Wheel17GripperUpFasten { get; set; } = "75000";
[Category("机械臂项目17寸轮胎")]
[Description("上料放松点")]
[DisplayName("上料放松点")]
public string Wheel17GripperUpLoosen { get; set; } = "75000";
[Category("机械臂项目17寸轮胎")]
[Description("下料夹紧点")]
[DisplayName("下料夹紧点")]
public string Wheel17GripperDownFasten { get; set; } = "40000";
[Category("机械臂项目17寸轮胎")]
[Description("下料放松点")]
[DisplayName("下料放松点")]
public string Wheel17GripperDownLoosen { get; set; } = "2000";
#endregion
#region 18
[Category("机械臂项目18寸轮胎")]
[Description("上料夹紧点")]
[DisplayName("上料夹紧点")]
public string Wheel18GripperUpFasten { get; set; } = "75000";
[Category("机械臂项目18寸轮胎")]
[Description("上料放松点")]
[DisplayName("上料放松点")]
public string Wheel18GripperUpLoosen { get; set; } = "75000";
[Category("机械臂项目18寸轮胎")]
[Description("下料夹紧点")]
[DisplayName("下料夹紧点")]
public string Wheel18GripperDownFasten { get; set; } = "40000";
[Category("机械臂项目18寸轮胎")]
[Description("下料放松点")]
[DisplayName("下料放松点")]
public string Wheel18GripperDownLoosen { get; set; } = "2000";
#endregion
[Category("机械臂项目")]
[Description("1号硫化机1号位")]
[DisplayName("1号硫化机1号位")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint X1_1Point { get; set; } = new RobotPoint();
[Category("机械臂项目")]
[Description("1号硫化机2号位")]
[DisplayName("1号硫化机2号位")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint X1_2Point { get; set; } = new RobotPoint();
[Category("机械臂项目")]
[Description("2号硫化机1号位")]
[DisplayName("2号硫化机1号位")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint X2_1Point { get; set; } = new RobotPoint();
[Category("机械臂项目")]
[Description("2号硫化机2号位")]
[DisplayName("2号硫化机2号位")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint X2_2Point { get; set; } = new RobotPoint();
[Category("机械臂项目")]
[Description("硫化轮胎取出位置")]
[DisplayName("硫化轮胎取出位置")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint TakeOutPoint { get; set; } = new RobotPoint();
//[Category("机械臂项目")]
//[Description("路径移动")]
//[DisplayName("路径移动")]
//[TypeConverter(typeof(CollectionCountConvert))]
//[Editor(typeof(ComplexCollectionEditor<RobotPoints>), typeof(UITypeEditor))]
//public List<RobotPoints> RobotMovePoints { get; set; } = new List<RobotPoints>();
//[Category("机械臂项目")]
//[Description("路径返回")]
//[DisplayName("路径返回")]
//[TypeConverter(typeof(CollectionCountConvert))]
//[Editor(typeof(ComplexCollectionEditor<RobotPoints>), typeof(UITypeEditor))]
//public List<RobotPoints> RobotBackPoints { get; set; } = new List<RobotPoints>();
//[Category("驱动类型")]
//[Description("驱动类型")]
//[DisplayName("驱动类型")]
//[TypeConverter(typeof(DeviceTypeSelectorConverter<RobotBase>))]
//public override string DriverType { get; set; }
//[Category("机器人设置")]
//[Description("机器人通信IP")]
//[DisplayName("机器人通信IP")]
//public string RobotIP { get; set; } = "0.0.0.0";
//[Category("机器人设置")]
//[Description("机器人通信端口")]
//[DisplayName("机器人通信端口")]
//public int RobotPort { get; set; }
//[Category("通信设置")]
//[Description("反馈超时设置单位ms")]
//[DisplayName("反馈超时设置单位ms")]
//public int ReplyTimeout { get; set; } = 1000;
//[Category("通信设置")]
//[Description("反馈超时重试次数")]
//[DisplayName("反馈超时重试次数")]
//public int TimeoutRetryTimes { get; set; } = 5;
//[Category("通信设置")]
//[Description("协议文本结束字符")]
//[DisplayName("协议文本结束字符")]
//public string EndChar { get; set; } = "#";
//[Category("通信设置")]
//[Description("协议内容分隔字符")]
//[DisplayName("协议内容分隔字符")]
//public string Seperator { get; set; } = ",";
//[Category("动作设置")]
//[Description("动作超时设置单位min")]
//[DisplayName("动作超时设置单位min")]
//public float OperationTimeout { get; set; } = 1;
//[Category("警报配置")]
//[Description("警报配置列表")]
//[DisplayName("警报配置")]
//[TypeConverter(typeof(CollectionCountConvert))]
//[Editor(typeof(WarningSetsEditor<PLCWarningSet>), typeof(UITypeEditor))]
//public List<IWarningSet> WarningSetCollection { get; set; } = new List<IWarningSet>();
}

View File

@ -0,0 +1,126 @@
using BRS.Common.Base;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using STTech.BytesIO.Tcp;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BRS.Common.Base
{
public class TCPSeverInitialConfigBase : InitialConfigBase
{
[Category("连接配置")]
[Description("远程IP地址")]
[DisplayName("远程IP")]
public string RemoteIP { get; set; }
[Category("连接配置")]
[Description("远程端口")]
[DisplayName("远程端口")]
public int RemotePort { get; set; }
}
public abstract class TCPSeverBase : DeviceBase
{
public TCPSeverInitialConfigBase IConfig
{
get => InitialConfig as TCPSeverInitialConfigBase;
}
/// <summary>
/// 创建临时变量
/// </summary>
public string KawasakiRobotResponse;
public TcpServer server;
public event Action<byte[]> OnTcpDataReceived;
public event Action OnTirggeredConnectClose;
public event Action OnTirggeredConnectOpen;
protected override void Init()
{
server = new TcpServer();
server.Host = IConfig.RemoteIP;
server.Port = IConfig.RemotePort;
}
protected override void Start()
{
server.StartAsync();
server.Started += Server_Started;
server.ClientConnected += Server_ClientConnected;
server.ClientDisconnected += Server_ClientDisconnected;
server.Closed += Server_Closed;
}
protected override void Stop()
{
server.CloseAsync();
}
private void Server_ClientDisconnected(object sender, STTech.BytesIO.Tcp.Entity.ClientDisconnectedEventArgs e)
{
Print($"客户端[{e.Client.Host}:{e.Client.Port}]断开连接");
OnTirggeredConnectClose?.Invoke();
}
private void Server_ClientConnected(object sender, STTech.BytesIO.Tcp.Entity.ClientConnectedEventArgs e)
{
Print($"客户端[{e.Client.Host}:{e.Client.Port}]连接成功");
OnTirggeredConnectOpen?.Invoke();
e.Client.OnDataReceived += Client_OnDataReceived;
// e.Client.UseHeartbeatTimeout(3000);
}
private void Client_OnDataReceived(object sender, STTech.BytesIO.Core.Entity.DataReceivedEventArgs e)
{
TcpClient tcpClient = (TcpClient)sender;
//Print($"来自客户端[{tcpClient.RemoteEndPoint}]的消息: {e.Data.EncodeToString("GBK")}");
OnTcpDataReceived?.Invoke(e.Data);
//foreach (TcpClient client in server.Clients)
//{
// if (client != tcpClient)
// {
// client.SendAsync(e.Data);
// }
//}
}
private void Server_Closed(object sender, EventArgs e)
{
// TcpClient tcpClient = (TcpClient)sender;
// Print("停止监听");
}
private void Server_Started(object sender, EventArgs e)
{
TcpClient tcpClient = (TcpClient)sender;
// tcpClient.Connect();
//Print("开始监听");
}
private void Print(string msg)
{
//tbLog.AppendText($"[{DateTime.Now}] {msg}\r\n");
}
public void SendMessage(string msg)
{
foreach (TcpClient client in server.Clients)
{
byte[] sendBuff = System.Text.Encoding.ASCII.GetBytes(msg);
client.SendAsync(sendBuff);
}
}
}
}

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

View File

@ -4,6 +4,9 @@
<package id="Microsoft.Bcl.AsyncInterfaces" version="1.1.0" targetFramework="net472" />
<package id="MrAdvice" version="2.9.7" targetFramework="net462" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
<package id="STTech.BytesIO.Core" version="2.9.3" targetFramework="net461" />
<package id="STTech.BytesIO.Tcp" version="2.9.3" targetFramework="net461" />
<package id="STTech.CodePlus" version="1.4.0" targetFramework="net461" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.Diagnostics.DiagnosticSource" version="4.7.1" targetFramework="net472" />
<package id="System.Memory" version="4.5.5" targetFramework="net462" />

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\OpenCvSharp4.runtime.win.4.6.0.20220608\build\netstandard\OpenCvSharp4.runtime.win.props" Condition="Exists('..\..\packages\OpenCvSharp4.runtime.win.4.6.0.20220608\build\netstandard\OpenCvSharp4.runtime.win.props')" />
<Import Project="..\..\packages\OpenCvSharp4.runtime.win.4.5.5.20211231\build\netstandard\OpenCvSharp4.runtime.win.props" Condition="Exists('..\..\packages\OpenCvSharp4.runtime.win.4.5.5.20211231\build\netstandard\OpenCvSharp4.runtime.win.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -95,7 +95,7 @@
<HintPath>..\..\packages\OpenCvSharp4.4.6.0.20220608\lib\netstandard2.0\OpenCvSharp.dll</HintPath>
</Reference>
<Reference Include="OpenCvSharp.Extensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6adad1e807fea099, processorArchitecture=MSIL">
<HintPath>..\..\packages\OpenCvSharp4.Extensions.4.6.0.20220608\lib\netstandard2.0\OpenCvSharp.Extensions.dll</HintPath>
<HintPath>..\..\packages\OpenCvSharp4.Extensions.4.5.5.20211231\lib\netstandard2.0\OpenCvSharp.Extensions.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="System" />
@ -259,6 +259,6 @@
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\OpenCvSharp4.runtime.win.4.6.0.20220608\build\netstandard\OpenCvSharp4.runtime.win.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\OpenCvSharp4.runtime.win.4.6.0.20220608\build\netstandard\OpenCvSharp4.runtime.win.props'))" />
<Error Condition="!Exists('..\..\packages\OpenCvSharp4.runtime.win.4.5.5.20211231\build\netstandard\OpenCvSharp4.runtime.win.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\OpenCvSharp4.runtime.win.4.5.5.20211231\build\netstandard\OpenCvSharp4.runtime.win.props'))" />
</Target>
</Project>

View File

@ -519,6 +519,19 @@ namespace BRS.Common.Model.Helper
CameraRelativeMove = 12,
}
public enum DownCirce
{
Unknown = 0,
/// <summary>
/// 标志着机械臂正在运动的状态
/// </summary>
DownCirce,
/// <summary>
/// 标志着机械臂运动完成的状态
/// </summary>
DownCirceRuning,
}
/// <summary>
/// 马达/运动板卡运行模式
/// </summary>
@ -677,7 +690,83 @@ namespace BRS.Common.Model.Helper
[Description("更新批次信息")]
RequestBatchNO,
}
public enum ProcessStatus
{
Unknown = 0,
PlcInit,
/// <summary>
/// 第七轴运动或者示教点移动
/// </summary>
Init,
/// <summary>
/// 第七轴移动到位
/// </summary>
InitPlc,
PMoldReady,
PPLCRobotInit,
MoveInit_Y,
MoveInit,
/// <summary>
/// 机械臂相机离目标螺丝测距30CM
/// </summary>
Measure,
/// <summary>
/// 打开光源
/// </summary>
OpenLight,
/// <summary>
/// 关闭光源
/// </summary>
ClodeLight,
/// <summary>
/// 视觉定位
/// </summary>
CVLocation,
/// <summary>
/// 拧紧轴发送启动命令
/// </summary>
StartRun,
StartRunDown,
/// <summary>
/// 循环拧送螺丝
/// </summary>
StartRuning,
Finish,
/// <summary>
/// 完成拧松螺丝并对下一螺丝做准备工作
/// </summary>
RobotFinish,
/// <summary>
/// 拧紧轴拧紧运动
/// </summary>
ShaftToughRunning,
/// <summary>
/// 拧紧轴拧紧运动
/// </summary>
ShaftLoosenRunning,
/// <summary>
/// 判断是否拧紧
/// </summary>
Judge,
/// <summary>
/// 到位后退出拧紧轴
/// </summary>
UpShaft,
/// <summary>
/// 机器人下电 所有第七轴回归初始位置
/// </summary>
RobotPLCInit,
/// <summary>
/// 回归初始位置完成,流程结束
/// </summary>
RobotPLCInitFinish,
ALLFinish,
Warning,
Waiting,
WaitingZLS,
}
public enum MachineState
{
Unknown = 0,
@ -717,57 +806,69 @@ namespace BRS.Common.Model.Helper
ClearProduct ,
}
/// <summary>
/// 川崎机器人的状态,运动停止或者正在进行
/// </summary>
public enum KawasakiRobotStatus
{
Unknown = 0,
/// <summary>
/// 机械臂正在运动的状态
/// </summary>
Stoped,
/// <summary>
/// 机械臂运动完成的状态
/// </summary>
Runing,
}
public enum RobotsStatus
{
Unknown = 0,
Inplace ,
Claming,
Relasing,
Moving ,
Wating ,
Pweroff,
Reset ,
PowerOn,
Move,
/// <summary>
/// 机械臂运动状态
/// </summary>
Runing,
/// <summary>
/// 机械臂空闲状态
/// </summary>
Release,
MoveInit,
PowerOff,
}
public enum ProcessStatus
public enum PLCStateWarm
{
Unknown = 0,
/// <summary>
/// 初始化点
/// 急停红灯
/// </summary>
Init,
ProStop,
/// <summary>
/// 程序运行绿灯
/// </summary>
Running,
/// <summary>
/// 手动模式
/// </summary>
HandModel,
/// <summary>
/// 自动模式
/// </summary>
ResetModel,
/// <summary>
/// 程序不运行
/// </summary>
Alarm,
XianWeiAram,
Robot1LeftAlarm,
Robot1RightAlarm,
MesureingInit,
MesureingInitPLC,
Mesureing ,
MesureingPLC,
Claim ,
ClaimPLC,
Runing ,
RunFinish,
Loosen,
LoosenPLC,
TakeOffMove,
TakeOffMovePLC,
TakeOffMovePLC_2,
TakeOff,/// <summary>
/// 取出轮胎
/// </summary>
///
TakeOffCaim,
TakeOffPLC,
TakeOffPoint,
TakeOffPointCaim,
TakeOffPointCaimFlag,
TakeOffWhool,
Resetting ,
Closing ,
ClearProduct ,
}
public enum ResultState
{
[Description("NA")]

View File

@ -38,8 +38,8 @@ namespace BRS.Common.Interface
List<IInitialConfig> PLCConfigCollection { get; set; }
List<IInitialConfig> DeviceConfigs { get; set; }
List<IInitialConfig> RobotConfigCollection { get; set; }
List<IInitialConfig> KawasakiRobotConfigCollection { get; set; }
//List<IInitialConfig> RobotConfigCollection { get; set; }
#endregion

View File

@ -7,6 +7,7 @@ using System.ComponentModel;
using System.Drawing;
using System.Threading.Tasks;
using static BRS.Common.Model.Helper.EnumHelper;
using System.Drawing.Design;
namespace BRS.Common.Model
{
@ -716,6 +717,157 @@ namespace BRS.Common.Model
public float B;
public float C;
}
public class CQRobotPoint : IComplexDisplay
{
[Category("点位信息")]
[Description("坐标X")]
public float X { get; set; }
[Category("点位信息")]
[Description("坐标Y")]
public float Y { get; set; }
[Category("点位信息")]
[Description("坐标Z")]
public float Z { get; set; }
[Category("点位信息")]
[Description("角度O")]
public float O { get; set; }
[Category("点位信息")]
[Description("角度A")]
public float A { get; set; }
[Category("点位信息")]
[Description("角度T")]
public float T { get; set; }
public string GetDisplayText()
{
return $"X:{X.ToString()} Y:{Y.ToString()} Z:{Z.ToString()} O:{O.ToString()} A:{A.ToString()} T:{T.ToString()}";
}
public double[] GetArray()
{
return new double[] { X, Y, Z, O, A, T };
}
public static CQRobotPoint GetRobotPointByArray(double[] array)
{
if (array.Length != 6)
{
return null;
}
CQRobotPoint point = new CQRobotPoint
{
X = (float)array[0],
Y = (float)array[1],
Z = (float)array[2],
O = (float)array[3],
A = (float)array[4],
T = (float)array[5]
};
return point;
}
public static float GetDistance(RobotPoint pointA, RobotPoint pointB)
{
return (float)Math.Sqrt(Math.Pow(pointA.X - pointB.X, 2) + Math.Pow(pointA.Y - pointB.Y, 2) + Math.Pow(pointA.Z - pointB.Z, 2));
}
}
public class VPVRPoint : IComplexDisplay
{
[Category("点位信息")]
[Description("坐标X")]
public float X { get; set; }
[Category("点位信息")]
[Description("坐标Y")]
public float Y { get; set; }
[Category("点位信息")]
[Description("坐标Z")]
public float Z { get; set; }
public string GetDisplayText()
{
return $"X:{X.ToString()} Y:{Y.ToString()} Z:{Z.ToString()}";
}
}
public class XYPoint : IComplexDisplay
{
[Category("点位信息")]
[Description("坐标X")]
public float X { get; set; }
[Category("点位信息")]
[Description("坐标Y")]
public float Y { get; set; }
public string GetDisplayText()
{
return $"X:{X.ToString()} Y:{Y.ToString()} ";
}
}
public class DiffVPVRPoint : IComplexDisplay
{
[Category("标定组类型ID*")]
[Description("标定组类型ID")]
//[TypeConverter(typeof(DeviceIdSelectorConverter<IDevice>))]
[DisplayName("标定组类型ID")]
public int CVTypeID { get; set; }
[Category("点位信息")]
[Description("坐标X")]
public float X { get; set; }
[Category("点位信息")]
[Description("坐标Y")]
public float Y { get; set; }
[Category("点位信息")]
[Description("坐标Z")]
public float Z { get; set; }
//[Category("第七轴")]
//[Description("第七轴")]
//public float SevenDis { get; set; }
//[Category("是否启动第七轴配置")]
//[Description("是否启用")]
//[DisplayName("是否启用")]
//public bool SevenDisIsLSEnabled { get; set; } = false;
//[Category("是否是两端特殊螺丝")]
//[Description("是否启用")]
//[DisplayName("是否启用")]
//public bool SpecialIsLSEnabled { get; set; } = false;
//[Category("特别螺丝配置")]
//[Description("是否启用")]
//[DisplayName("是否启用")]
//public bool IsLSEnabled { get; set; } = false;
//[Category("特别螺丝配置")]
//[Description("特别螺丝配置")]
//[TypeConverter(typeof(CollectionCountConvert))]
//[Editor(typeof(ComplexCollectionEditor<VPVRPoint>), typeof(UITypeEditor))]
//[DisplayName("特别螺丝配置")]
//public List<VPVRPoint> CVCalibrationConfig { get; set; } = new List<VPVRPoint>();
public string GetDisplayText()
{
return $"X:{X.ToString()} Y:{Y.ToString()} Z:{Z.ToString()}";
}
}
public class RobotPoint : IComplexDisplay
{
[Category("点位信息")]

View File

@ -14,8 +14,84 @@ using System.Windows.Forms.Design;
namespace BRS.Common.Model
{
public class CVCalibrationConfig : IComplexDisplay
{
[Category("标定组类型ID")]
[Description("标定组类型ID")]
//[TypeConverter(typeof(DeviceIdSelectorConverter<IDevice>))]
[DisplayName("标定组类型ID")]
public int CVTypeID { get; set; }
[Category("相机标定设置")]
[Description("示教拍摄点")]
[DisplayName("示教拍摄点")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<CQRobotPoint>), typeof(UITypeEditor))]
//[TypeConverter(typeof(SimpleCollectionConvert<double>))]
public List<CQRobotPoint> SHIJIao_deviation { get; set; } = new List<CQRobotPoint>();
[Category("相机标定设置")]
[Description("VP点组")]
[DisplayName("VP点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<XYPoint>), typeof(UITypeEditor))]
//[TypeConverter(typeof(SimpleCollectionConvert<double>))]
public List<XYPoint> VPPoints { get; set; } = new List<XYPoint>();
[Category("相机标定设置")]
[Description("VR点组")]
[DisplayName("VR点组")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<XYPoint>), typeof(UITypeEditor))]
//[TypeConverter(typeof(SimpleCollectionConvert<double>))]
public List<XYPoint> VRPoints { get; set; } = new List<XYPoint>();
public string GetDisplayText()
{
return $"标定组类型ID:{CVTypeID.ToString()}";
}
}
public class DeviceModel : IComplexDisplay
{
[Category("模具类型")]
[Description("模具类型")]
//[TypeConverter(typeof(DeviceIdSelectorConverter<IDevice>))]
[DisplayName("模具类型")]
public string DeviceModelType { get; set; }
[Category("视觉标定配置")]
[Description("视觉标定配置")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<CVCalibrationConfig>), typeof(UITypeEditor))]
[DisplayName("视觉标定配置")]
public List<CVCalibrationConfig> CVCalibrationConfig { get; set; } = new List<CVCalibrationConfig>();
[Category("机械臂配置项")]
[Description("偏移量:标定点减去拍摄点的坐标是偏移量")]
[DisplayName("偏移量")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<DiffVPVRPoint>), typeof(UITypeEditor))]
//[TypeConverter(typeof(SimpleCollectionConvert<double>))]
public List<DiffVPVRPoint> Deviation { get; set; } = new List<DiffVPVRPoint>();
[Category("机械臂配置项")]
[Description("拧紧轴推进距离")]
[DisplayName("拧紧轴推进距离")]
public float NIJ_DisD { get; set; } = -99;
public string GetDisplayText()
{
return $"模具类型:{DeviceModelType} ";
}
}
public class DeviceOpBind : IComplexDisplay
{
[Category("设备名称")]
[Description("设备名称")]
[TypeConverter(typeof(DeviceIdSelectorConverter<IDevice>))]

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

View File

@ -3,8 +3,9 @@
<package id="Autofac" version="4.9.4" targetFramework="net472" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
<package id="OpenCvSharp4" version="4.6.0.20220608" targetFramework="net462" />
<package id="OpenCvSharp4.Extensions" version="4.6.0.20220608" targetFramework="net462" />
<package id="OpenCvSharp4.runtime.win" version="4.6.0.20220608" targetFramework="net462" />
<package id="OpenCvSharp4.Extensions" version="4.5.5.20211231" targetFramework="net461" />
<package id="OpenCvSharp4.runtime.win" version="4.5.5.20211231" targetFramework="net461" />
<package id="OpenCvSharp4.Windows" version="4.5.5.20211231" targetFramework="net461" />
<package id="System.Buffers" version="4.5.1" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.7.1" targetFramework="net472" />
<package id="System.Drawing.Common" version="5.0.3" targetFramework="net461" />

View File

@ -22,7 +22,13 @@ namespace BRS.Process.A020
//[Description("OverdueDay数据库保存天数超出该值则认为数据过期会被清理")]
//public int OverdueDay { get; set; } = 14;
[Category("流程动作配置")]
[Description("流程开始操作配置")]
[DisplayName("流程开始操作配置")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(ComplexCollectionEditor<DeviceModel>), typeof(UITypeEditor))]
public List<DeviceModel> ProcessInitialOps { get; set; } = new List<DeviceModel>();
// [Category("触发配置")]
//[Description("检测取像相关设置")]

View File

@ -7,6 +7,7 @@ using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
@ -91,6 +92,9 @@ namespace BRS.Process.A020
#region event
public event Action<MachineState> OnMachineStateChanged;
public event Action<PLCStateWarm> OnPLCStateChanged;
public event Action<int, Bitmap> OnBitmapChanged;
#endregion
#region ProcessControl

View File

@ -15,7 +15,10 @@ namespace BRS.Process.A020
{
object machineStateLock = new object();
//object machineStateLock_R = new object();
PLCStateWarm pLCStateWarm = PLCStateWarm.Unknown;
MachineState machineState = MachineState.Unknown;
DownCirce downCirce = DownCirce.Unknown;
//MachineState machineState_R = MachineState.Unknown;
public MachineState MachineState
{
@ -134,17 +137,24 @@ namespace BRS.Process.A020
}
}
WhoolSize whoolSize = WhoolSize.Size17;
public WhoolSize WhoolSize
public PLCStateWarm PLCStateWarm
{
get => whoolSize;
get => pLCStateWarm;
set
{
whoolSize = value;
pLCStateWarm = value;
}
}
KawasakiRobotStatus kawasakiRobotStatus = KawasakiRobotStatus.Unknown;
public KawasakiRobotStatus KawasakiRobotStatus
{
get => kawasakiRobotStatus;
set
{
kawasakiRobotStatus = value;
}
}
MachineStateStep machineStateStep = MachineStateStep.Unknown;
@ -344,6 +354,40 @@ namespace BRS.Process.A020
}
#endregion
public string MoveRobot(StrRobotPoint strPoint)
{
string pointsStr = Convert.ToString(strPoint.X) + "," + Convert.ToString(strPoint.Y) + "," + Convert.ToString(strPoint.Z) + "," +
Convert.ToString(strPoint.A) + "," + Convert.ToString(strPoint.B) + "," + Convert.ToString(strPoint.C);
string STRMove = "MoveLine_NULL_1_" + pointsStr + "_";
//string PointInit1 = "MoveLine_NULL_1_462.915,1119.150,1530.227,90.043,90.003,0.040_";
return STRMove;
}
public string MoveMoreNContinueRobot(List<StrRobotPoint> strPoints, ref StrRobotPoint CurrentPoint)
{
string strPointsStr = null;
for (int i = 0; i < strPoints.Count; i++)
{
string pointsStr = Convert.ToString(strPoints[i].X) + "," + Convert.ToString(strPoints[i].Y) + "," + Convert.ToString(strPoints[i].Z) + "," +
Convert.ToString(strPoints[i].A) + "," + Convert.ToString(strPoints[i].B) + "," + Convert.ToString(strPoints[i].C);
strPointsStr += pointsStr + "_";
}
CurrentPoint = strPoints[strPoints.Count - 1];
// string pointsStr2 = Convert.ToString(strPoint2.X) + "," + Convert.ToString(strPoint2.Y) + "," + Convert.ToString(strPoint2.Z) + "," +
//Convert.ToString(strPoint2.O) + "," + Convert.ToString(strPoint2.A) + "," + Convert.ToString(strPoint2.T);
string STRMove = "MoveLine_NULL_" + strPoints.Count.ToString() + "_" + strPointsStr;
//string PointInit1 = "MoveLine_NULL_1_462.915,1119.150,1530.227,90.043,90.003,0.040_";
return STRMove;
}
public DownCirce DownCirce
{
get => downCirce;
set
{
downCirce = value;
}
}
public override async Task RaisedAlarm(IWarningSet warningSet)
{
@ -407,7 +451,7 @@ namespace BRS.Process.A020
warningSet.WarningCode = "急停按钮被拍下";
warningSet.WarningLvl = -1;
warningSet.WarningDescription = "急停按钮被拍下";
RobotsStatus = RobotsStatus.Pweroff;
RobotsStatus = RobotsStatus.PowerOff;
MachineStateStep = MachineStateStep.Pause;
RaisedAlarm(warningSet);
}

File diff suppressed because it is too large Load Diff

View File

@ -7,6 +7,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using static BRS.Common.Model.Helper.EnumHelper;
@ -17,8 +18,151 @@ namespace BRS.Process.A020
{
// public HTuple ModelIds;
double CurrentDgree = 0;//累加的角度
int CurrentQuanShu = 0;//当前转的圈数
int SpecicalLs1 = 0;//侧模特殊螺丝的数组索引
void GetCornerPoint(List<MyPoint> VP, List<MyPoint> VR, MyPoint Tp, ref Corner CP, ref Corner CR)
{
List<MyPoint> vPLU = new List<MyPoint>();
List<MyPoint> vPRU = new List<MyPoint>();
List<MyPoint> vPLD = new List<MyPoint>();
List<MyPoint> vPRD = new List<MyPoint>();
for (int i = 0; i < VP.Count; i++)
{
if (VP[i].dX <= Tp.dX && VP[i].dY <= Tp.dY)
vPLU.Add(VP[i]);
if (VP[i].dX > Tp.dX && VP[i].dY < Tp.dY)
vPRU.Add(VP[i]);
if (VP[i].dX < Tp.dX && VP[i].dY > Tp.dY)
vPLD.Add(VP[i]);
if (VP[i].dX > Tp.dX && VP[i].dY > Tp.dY)
vPRD.Add(VP[i]);
}
if (vPLU.Count() == 0 || vPRU.Count() == 0 || vPLD.Count() == 0 || vPRD.Count() == 0)
{
CP.LU.dX = -99999;
return;
}
int iIndex = 0;
GetNerastPoint(vPLU, Tp, ref CP.LU, ref iIndex);
GetNerastPoint(vPRU, Tp, ref CP.RU, ref iIndex);
GetNerastPoint(vPLD, Tp, ref CP.LD, ref iIndex);
GetNerastPoint(vPRD, Tp, ref CP.RD, ref iIndex);
MyPoint MP;
MP.dX = 0;
MP.dY = 0;
GetNerastPoint(VP, CP.LU, ref MP, ref iIndex);
CR.LU = VR[iIndex];
GetNerastPoint(VP, CP.RU, ref MP, ref iIndex);
CR.RU = VR[iIndex];
GetNerastPoint(VP, CP.LD, ref MP, ref iIndex);
CR.LD = VR[iIndex];
GetNerastPoint(VP, CP.RD, ref MP, ref iIndex);
CR.RD = VR[iIndex];
}
void GetNerastPoint(List<MyPoint> VP, MyPoint Tp, ref MyPoint VN, ref int Index)
{
int iL = 100000000;
VN = VP[0];
Index = 0;
for (int i = 0; i < VP.Count(); i++)
{
int iL2 = (int)((VP[i].dX - Tp.dX) * (VP[i].dX - Tp.dX) + (VP[i].dY - Tp.dY) * (VP[i].dY - Tp.dY));
if (iL2 < iL)
{
iL = iL2;
VN = VP[i];
Index = i;
}
}
}
MyPoint Interpolation(List<MyPoint> VP, List<MyPoint> VR, MyPoint Tp, bool bTran)
{
Corner CP = new Corner();
Corner CR = new Corner();
GetCornerPoint(VP, VR, Tp, ref CP, ref CR);
MyPoint MR;
if (CP.LU.dX < -99998)
{
MR.dX = -9999999;
MR.dY = -9999999;
return MR;
}
if (bTran == true)
{
double dTm;
dTm = CR.LU.dX;
CR.LU.dX = CR.LU.dY;
CR.LU.dY = dTm;
dTm = CR.RU.dX;
CR.RU.dX = CR.RU.dY;
CR.RU.dY = dTm;
dTm = CR.LD.dX;
CR.LD.dX = CR.LD.dY;
CR.LD.dY = dTm;
dTm = CR.RD.dX;
CR.RD.dX = CR.RD.dY;
CR.RD.dY = dTm;
}
MyPoint PU;
PU.dX = 0; PU.dY = 0;
MyPoint RU;
RU.dX = 0; RU.dY = 0;
MyPoint PD;
PD.dX = 0; PD.dY = 0;
MyPoint RD;
RD.dX = 0; RD.dY = 0;
GetUpPoint(CP, CR, Tp, ref PU, ref RU);
GetDownPoint(CP, CR, Tp, ref PD, ref RD);
float fDU = (float)(Tp.dY - PU.dY);
float fDA = (float)(PD.dY - PU.dY);
float fX = (float)(RU.dX * (1 - fDU / fDA) + RD.dX * fDU / fDA);
float fY = (float)(RU.dY * (1 - fDU / fDA) + RD.dY * fDU / fDA); ;
if (bTran == true)
{
MR.dX = fY;
MR.dY = fX;
}
else
{
MR.dX = fX;
MR.dY = fY;
}
return MR;
}
void GetUpPoint(Corner CP, Corner CR, MyPoint Tp, ref MyPoint PU, ref MyPoint RU)
{
PU.dX = Tp.dX;
PU.dY = (Tp.dX - CP.LU.dX) * 1.0 / (CP.RU.dX - CP.LU.dX) * (CP.RU.dY - CP.LU.dY) + CP.LU.dY;
RU.dX = (PU.dX - CP.LU.dX) * 1.0 / (CP.RU.dX - CP.LU.dX) * (CR.RU.dX - CR.LU.dX) + CR.LU.dX;
RU.dY = (PU.dY - CP.LU.dY) * 1.0 / (CP.RU.dY - CP.LU.dY) * (CR.RU.dY - CR.LU.dY) + CR.LU.dY;
}
void GetDownPoint(Corner CP, Corner CR, MyPoint Tp, ref MyPoint PD, ref MyPoint RD)
{
PD.dX = Tp.dX;
PD.dY = (Tp.dX - CP.LD.dX) * 1.0 / (CP.RD.dX - CP.LD.dX) * (CP.RD.dY - CP.LD.dY) + CP.LD.dY;
RD.dX = (PD.dX - CP.LD.dX) * 1.0 / (CP.RD.dX - CP.LD.dX) * (CR.RD.dX - CR.LD.dX) + CR.LD.dX;
RD.dY = (PD.dY - CP.LD.dY) * 1.0 / (CP.RD.dY - CP.LD.dY) * (CR.RD.dY - CR.LD.dY) + CR.LD.dY;
}
/// <summary>
/// 相机拍摄图片后的回调函数
/// </summary>
@ -190,8 +334,121 @@ namespace BRS.Process.A020
// });
//}
private void TCPseverDriver_OnDataReceived(byte[] obj)
{
bool fin = false;
string msg = string.Empty;
// LogAsync(DateTime.Now, LogLevel.Action, obj.);
msg = Encoding.Default.GetString(obj);
LogAsync(DateTime.Now, LogLevel.Action, msg);
if (obj.Length > 0)
fin = true;
Console.WriteLine(DateTime.Now + "=============================================================wanbi" + CurrentDgree.ToString() + " " + CurrentQuanShu.ToString() + " 次数" + SpecicalLs1.ToString());
#region 2
if (ProcessStatus == ProcessStatus.Init && RobotsStatus == RobotsStatus.Runing && msg == "wanbi")
{
msg = string.Empty;
RobotsStatus = RobotsStatus.Release;
DownCirce = DownCirce.DownCirceRuning;
}
#endregion
#region
if (ProcessStatus == ProcessStatus.MoveInit && RobotsStatus == RobotsStatus.Runing && msg == "wanbi")
{
msg = string.Empty;
ProcessStatus = ProcessStatus.Measure;
RobotsStatus = RobotsStatus.Release;
DownCirce = DownCirce.DownCirceRuning;
}
#endregion
#region
if (ProcessStatus == ProcessStatus.Measure && RobotsStatus == RobotsStatus.Runing && msg == "wanbi")
{
msg = string.Empty;
DownCirce = DownCirce.DownCirceRuning;
ProcessStatus = ProcessStatus.OpenLight;
RobotsStatus = RobotsStatus.Release;
}
#endregion
#region
if (ProcessStatus == ProcessStatus.CVLocation && RobotsStatus == RobotsStatus.Runing && msg == "wanbi")
{
msg = string.Empty;
//ProcessStatus = ProcessStatus.StartRunDown;
ProcessStatus = ProcessStatus.StartRun;
RobotsStatus = RobotsStatus.Release;
DownCirce = DownCirce.DownCirceRuning;
}
if (ProcessStatus == ProcessStatus.StartRunDown && RobotsStatus == RobotsStatus.Runing && msg == "wanbi")
{
msg = string.Empty;
ProcessStatus = ProcessStatus.StartRun;
RobotsStatus = RobotsStatus.Release;
DownCirce = DownCirce.DownCirceRuning;
}
if (ProcessStatus == ProcessStatus.StartRun && RobotsStatus == RobotsStatus.Runing && msg == "wanbi")
{
msg = string.Empty;
ProcessStatus = ProcessStatus.StartRuning;
RobotsStatus = RobotsStatus.Release;
}
#endregion
#region
if(ProcessStatus == ProcessStatus.ShaftToughRunning && RobotsStatus == RobotsStatus.Runing && IsShaftOpen==true)
{
msg = string.Empty;
RobotsStatus = RobotsStatus.Release;
DownCirce = DownCirce.DownCirceRuning;
}
#region
if (ProcessStatus == ProcessStatus.Judge && RobotsStatus == RobotsStatus.Runing)
{
msg = string.Empty;
RobotsStatus = RobotsStatus.Release;
DownCirce = DownCirce.DownCirceRuning;
}
#endregion
#endregion
#region
if (ProcessStatus == ProcessStatus.UpShaft && RobotsStatus == RobotsStatus.Runing && msg=="wanbi")
{
msg = string.Empty;
RobotsStatus = RobotsStatus.Release;
DownCirce = DownCirce.DownCirceRuning;
}
#endregion
}
/// <summary>
/// 示教标定点+偏移量=拍摄螺丝点
/// </summary>
/// <param name="cQRobotPoint"></param>
/// <param name="vPVRPoint"></param>
/// <returns></returns>
public StrRobotPoint CQRobotPointChangeStrRobotPoint(CQRobotPoint cQRobotPoint, VPVRPoint vPVRPoint)
{
float X_dev = vPVRPoint.X;
float Y_dev = vPVRPoint.Y;
float Z_dev = vPVRPoint.Z;
StrRobotPoint strRobotPoint = new StrRobotPoint();
strRobotPoint.X = cQRobotPoint.X + X_dev;
strRobotPoint.Y = cQRobotPoint.Y + Y_dev;
strRobotPoint.Z = cQRobotPoint.Z + Z_dev;
strRobotPoint.A = cQRobotPoint.O;
strRobotPoint.B = cQRobotPoint.A;
strRobotPoint.C = cQRobotPoint.T;
return strRobotPoint;
}
private void BlowTaskExcute(int delayBlow)
{

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\OpenCvSharp4.runtime.win.4.5.5.20211231\build\netstandard\OpenCvSharp4.runtime.win.props" Condition="Exists('..\..\packages\OpenCvSharp4.runtime.win.4.5.5.20211231\build\netstandard\OpenCvSharp4.runtime.win.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -13,6 +14,8 @@
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -43,6 +46,10 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Release\BRS.UI.Device.Winform.dll</HintPath>
</Reference>
<Reference Include="CLIDelegate, Version=1.0.6656.35406, Culture=neutral, PublicKeyToken=71f71440696c7e6b, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files\DahuaTech\MV Viewer\Development\DOTNET DLL\DOTNET_4.0\x86\CLIDelegate.dll</HintPath>
</Reference>
<Reference Include="HZH_Controls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\HZH_Controls.1.0.14\lib\net40\HZH_Controls.dll</HintPath>
</Reference>
@ -56,6 +63,18 @@
<HintPath>..\..\packages\OpenCvSharp4.4.6.0.20220608\lib\netstandard2.0\OpenCvSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OpenCvSharp.Extensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6adad1e807fea099, processorArchitecture=MSIL">
<HintPath>..\..\packages\OpenCvSharp4.Extensions.4.5.5.20211231\lib\netstandard2.0\OpenCvSharp.Extensions.dll</HintPath>
</Reference>
<Reference Include="STTech.BytesIO.Core, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.BytesIO.Core.2.9.3\lib\net45\STTech.BytesIO.Core.dll</HintPath>
</Reference>
<Reference Include="STTech.BytesIO.Tcp, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.BytesIO.Tcp.2.9.3\lib\net45\STTech.BytesIO.Tcp.dll</HintPath>
</Reference>
<Reference Include="STTech.CodePlus, Version=1.4.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.CodePlus.1.4.0\lib\net45\STTech.CodePlus.dll</HintPath>
</Reference>
<Reference Include="SunnyUI, Version=3.3.1.0, Culture=neutral, PublicKeyToken=27d7d2e821d97aeb, processorArchitecture=MSIL">
<HintPath>..\..\packages\SunnyUI.3.3.1\lib\net40\SunnyUI.dll</HintPath>
</Reference>
@ -73,6 +92,9 @@
<HintPath>..\..\packages\System.Diagnostics.DiagnosticSource.4.7.1\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Common, Version=4.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Drawing.Common.5.0.3\lib\net461\System.Drawing.Common.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
</Reference>
@ -95,6 +117,10 @@
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="ThridLibray, Version=1.0.0.31445, Culture=neutral, PublicKeyToken=407bb547be8622a9, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files\DahuaTech\MV Viewer\Development\DOTNET DLL\DOTNET_4.0\x86\ThridLibray.dll</HintPath>
</Reference>
<Reference Include="WeifenLuo.WinFormsUI.Docking, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5cded1a1a0a7b481, processorArchitecture=MSIL">
<HintPath>..\..\packages\DockPanelSuite.3.1.0\lib\net40\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
</Reference>
@ -130,12 +156,6 @@
<DependentUpon>ContorlShaft.cs</DependentUpon>
</Compile>
<Compile Include="UI\ExternalTools.cs" />
<Compile Include="UI\ControlSet.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\ControlSet.Designer.cs">
<DependentUpon>ControlSet.cs</DependentUpon>
</Compile>
<Compile Include="UI\OperationFrm.cs">
<SubType>Form</SubType>
</Compile>
@ -164,10 +184,6 @@
<Project>{1a3cbfe7-3f78-42c3-95c5-10360450dbea}</Project>
<Name>BRS.Common.Model</Name>
</ProjectReference>
<ProjectReference Include="..\BRS.Device.OmronPLC\BRS.Device.OmronPLC.csproj">
<Project>{560cc80b-389b-46fc-9b8c-da1d62a555d9}</Project>
<Name>BRS.Device.OmronPLC</Name>
</ProjectReference>
<ProjectReference Include="..\BRS.Process\BRS.Process.csproj">
<Project>{197c5aa8-9609-4d1c-b1e3-5879006eaaf4}</Project>
<Name>BRS.Process</Name>
@ -176,6 +192,10 @@
<Project>{741f6491-57c7-479a-b391-09bba9fba9dc}</Project>
<Name>BRS.UI.Model.Winform</Name>
</ProjectReference>
<ProjectReference Include="..\XKRS.Device.TCPSever\XKRS.Device.TCPSever.csproj">
<Project>{91739e90-6a8e-433d-b244-5325f8848064}</Project>
<Name>XKRS.Device.TCPSever</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
@ -196,9 +216,6 @@
<EmbeddedResource Include="UI\ContorlShaft.resx">
<DependentUpon>ContorlShaft.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\ControlSet.resx">
<DependentUpon>ControlSet.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\OperationFrm.resx">
<DependentUpon>OperationFrm.cs</DependentUpon>
</EmbeddedResource>
@ -209,10 +226,19 @@
<DependentUpon>VisionDebugForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
<UserProperties setting_1json__JsonSchema="https://json.schemastore.org/nest-cli.json" />
</VisualStudio>
</ProjectExtensions>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\OpenCvSharp4.runtime.win.4.5.5.20211231\build\netstandard\OpenCvSharp4.runtime.win.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\OpenCvSharp4.runtime.win.4.5.5.20211231\build\netstandard\OpenCvSharp4.runtime.win.props'))" />
</Target>
</Project>

View File

@ -192,33 +192,7 @@ namespace BRS.Process.A020.UI
/// <param name="e"></param>
private void button2_2_Click(object sender, EventArgs e)
{
var OmronPlc = Process_A020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
var NbtRobot = Process_A020.DeviceCollection.FirstOrDefault(u => u is RobotBase) as RobotBase;
RobotPoint x1 = NbtRobot.IConfig.RobotInitPosition; //NbtRobot.IConfig.X1Point;
StrRobotPoint initPoint = ClassChangeStruct(x1);
int speed = 1000;//机械臂运动速度 m/s
//机械手回到初始点
NbtRobot.Move(initPoint, speed, true);
int stop_ss=1;
while (stop_ss==1)
{
Thread.Sleep(1000);
if (NbtRobot.get_status() == 0)
{
stop_ss = 0; ;
}
}
//2.D11 1-0 PC→PLC //机械手复位回到初始点完成
// 3.D21 0 - 1 PC → PLC //夹具打开回到初始位置
PcToPlcWrite(OmronPlc, "D11", "1", "0");
PcToPlcWrite(OmronPlc, "D21", "1", "0");
Thread.Sleep(1000);
PcToPlcWrite(OmronPlc, "D11", "0", "1");
PcToPlcWrite(OmronPlc, "D21", "0", "1");
Thread.Sleep(200);
PcToPlcWrite(OmronPlc, "D21", "1", "0");
//Thread.Sleep(15000);
}
/// <summary>

View File

@ -46,6 +46,50 @@ namespace BRS.Process.A020.UI
this.StopStateLabel = new Sunny.UI.UILabel();
this.chart2 = new System.Windows.Forms.DataVisualization.Charting.Chart();
this.uiPanel1 = new Sunny.UI.UIPanel();
this.uiPanel3 = new Sunny.UI.UIPanel();
this.StartBtn1 = new Sunny.UI.UIButton();
this.StopBtn2 = new Sunny.UI.UIButton();
this.BtnSeries = new Sunny.UI.UIPanel();
this.label13 = new System.Windows.Forms.Label();
this.ManualLoosenBtn = new Sunny.UI.UIButton();
this.AutoToughBtn1 = new Sunny.UI.UIButton();
this.AutoLoosenBtn1 = new Sunny.UI.UIButton();
this.ManualToughBtn = new Sunny.UI.UIButton();
this.ParameterSetting = new Sunny.UI.UIPanel();
this.label10 = new System.Windows.Forms.Label();
this.OKBtn = new Sunny.UI.UIButton();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.ResettingBtn = new Sunny.UI.UIButton();
this.label6 = new System.Windows.Forms.Label();
this.textBox5 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.textBox4 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.LightSeries = new Sunny.UI.UIPanel();
this.label15 = new System.Windows.Forms.Label();
this.RobotAStatus = new BRS.Process.A020.UI.CircleButton();
this.label12 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.ManualLight = new BRS.Process.A020.UI.CircleButton();
this.AutoLight = new BRS.Process.A020.UI.CircleButton();
this.MoveStateLight1 = new BRS.Process.A020.UI.CircleButton();
this.StopStateLight1 = new BRS.Process.A020.UI.CircleButton();
this.ToughLight1 = new BRS.Process.A020.UI.CircleButton();
this.LoosenLight1 = new BRS.Process.A020.UI.CircleButton();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.uiPanel2 = new Sunny.UI.UIPanel();
this.label14 = new System.Windows.Forms.Label();
this.AutoBtn1 = new BRS.Process.A020.UI.CircleButton();
this.ManualBtn1 = new BRS.Process.A020.UI.CircleButton();
this.ESBtn = new BRS.Process.A020.UI.CircleButton();
this.TestBtn = new Sunny.UI.UIButton();
this.AutoLoosenBtn = new Sunny.UI.UIButton();
this.AutoToughBtn = new Sunny.UI.UIButton();
this.uiLabel2 = new Sunny.UI.UILabel();
@ -53,23 +97,14 @@ namespace BRS.Process.A020.UI
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart();
this.uiButton1 = new Sunny.UI.UIButton();
this.StartBtn1 = new Sunny.UI.UIButton();
this.StopBtn2 = new Sunny.UI.UIButton();
this.ManualToughBtn = new Sunny.UI.UIButton();
this.ManualLoosenBtn = new Sunny.UI.UIButton();
this.AutoToughBtn1 = new Sunny.UI.UIButton();
this.AutoLoosenBtn1 = new Sunny.UI.UIButton();
this.Setting = new Sunny.UI.UIButton();
this.TestBtn = new Sunny.UI.UIButton();
this.ManualBtn1 = new BRS.Process.A020.UI.CircleButton();
this.AutoBtn1 = new BRS.Process.A020.UI.CircleButton();
this.LoosenLight1 = new BRS.Process.A020.UI.CircleButton();
this.ToughLight1 = new BRS.Process.A020.UI.CircleButton();
this.StopStateLight1 = new BRS.Process.A020.UI.CircleButton();
this.MoveStateLight1 = new BRS.Process.A020.UI.CircleButton();
this.ESBtn = new BRS.Process.A020.UI.CircleButton();
this.timer2 = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.chart2)).BeginInit();
this.uiPanel1.SuspendLayout();
this.uiPanel3.SuspendLayout();
this.BtnSeries.SuspendLayout();
this.ParameterSetting.SuspendLayout();
this.LightSeries.SuspendLayout();
this.uiPanel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit();
this.SuspendLayout();
//
@ -183,14 +218,14 @@ namespace BRS.Process.A020.UI
legend1.Name = "Legend1";
legend1.Title = "图例";
this.chart2.Legends.Add(legend1);
this.chart2.Location = new System.Drawing.Point(1129, 0);
this.chart2.Location = new System.Drawing.Point(1445, 0);
this.chart2.Name = "chart2";
series1.ChartArea = "ChartArea1";
series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
series1.Legend = "Legend1";
series1.Name = "扭矩";
this.chart2.Series.Add(series1);
this.chart2.Size = new System.Drawing.Size(380, 568);
this.chart2.Size = new System.Drawing.Size(380, 601);
this.chart2.TabIndex = 14;
this.chart2.Text = "扭矩时间变化曲线";
title1.Name = "Title1";
@ -199,32 +234,579 @@ namespace BRS.Process.A020.UI
//
// uiPanel1
//
this.uiPanel1.Controls.Add(this.ManualBtn1);
this.uiPanel1.Controls.Add(this.AutoBtn1);
this.uiPanel1.Controls.Add(this.LoosenLight1);
this.uiPanel1.Controls.Add(this.ToughLight1);
this.uiPanel1.Controls.Add(this.StopStateLight1);
this.uiPanel1.Controls.Add(this.TestBtn);
this.uiPanel1.Controls.Add(this.Setting);
this.uiPanel1.Controls.Add(this.AutoLoosenBtn1);
this.uiPanel1.Controls.Add(this.AutoToughBtn1);
this.uiPanel1.Controls.Add(this.ManualLoosenBtn);
this.uiPanel1.Controls.Add(this.ManualToughBtn);
this.uiPanel1.Controls.Add(this.StopBtn2);
this.uiPanel1.Controls.Add(this.StartBtn1);
this.uiPanel1.Controls.Add(this.MoveStateLight1);
this.uiPanel1.Controls.Add(this.uiPanel3);
this.uiPanel1.Controls.Add(this.BtnSeries);
this.uiPanel1.Controls.Add(this.ESBtn);
this.uiPanel1.Controls.Add(this.ParameterSetting);
this.uiPanel1.Controls.Add(this.LightSeries);
this.uiPanel1.Controls.Add(this.uiPanel2);
this.uiPanel1.Controls.Add(this.TestBtn);
this.uiPanel1.Dock = System.Windows.Forms.DockStyle.Left;
this.uiPanel1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel1.Location = new System.Drawing.Point(0, 0);
this.uiPanel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel1.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel1.Name = "uiPanel1";
this.uiPanel1.Size = new System.Drawing.Size(634, 568);
this.uiPanel1.Size = new System.Drawing.Size(1038, 601);
this.uiPanel1.TabIndex = 16;
this.uiPanel1.Text = null;
this.uiPanel1.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.uiPanel1.Load += new System.EventHandler(this.uiPanel1_Load);
//
// uiPanel3
//
this.uiPanel3.Controls.Add(this.StartBtn1);
this.uiPanel3.Controls.Add(this.StopBtn2);
this.uiPanel3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel3.Location = new System.Drawing.Point(12, 0);
this.uiPanel3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel3.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel3.Name = "uiPanel3";
this.uiPanel3.Size = new System.Drawing.Size(204, 153);
this.uiPanel3.TabIndex = 41;
this.uiPanel3.Text = null;
this.uiPanel3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel3.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// StartBtn1
//
this.StartBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.StartBtn1.Dock = System.Windows.Forms.DockStyle.Left;
this.StartBtn1.Font = new System.Drawing.Font("宋体", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.StartBtn1.Location = new System.Drawing.Point(0, 0);
this.StartBtn1.MinimumSize = new System.Drawing.Size(1, 1);
this.StartBtn1.Name = "StartBtn1";
this.StartBtn1.Size = new System.Drawing.Size(97, 153);
this.StartBtn1.TabIndex = 7;
this.StartBtn1.Text = "开始";
this.StartBtn1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.StartBtn1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.StartBtn1.Click += new System.EventHandler(this.StartBtn1_Click);
//
// StopBtn2
//
this.StopBtn2.Cursor = System.Windows.Forms.Cursors.Hand;
this.StopBtn2.Dock = System.Windows.Forms.DockStyle.Right;
this.StopBtn2.Font = new System.Drawing.Font("宋体", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.StopBtn2.Location = new System.Drawing.Point(107, 0);
this.StopBtn2.MinimumSize = new System.Drawing.Size(1, 1);
this.StopBtn2.Name = "StopBtn2";
this.StopBtn2.Size = new System.Drawing.Size(97, 153);
this.StopBtn2.TabIndex = 8;
this.StopBtn2.Text = "停止";
this.StopBtn2.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.StopBtn2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.StopBtn2.Click += new System.EventHandler(this.StopBtn2_Click);
//
// BtnSeries
//
this.BtnSeries.Controls.Add(this.label13);
this.BtnSeries.Controls.Add(this.ManualLoosenBtn);
this.BtnSeries.Controls.Add(this.AutoToughBtn1);
this.BtnSeries.Controls.Add(this.AutoLoosenBtn1);
this.BtnSeries.Controls.Add(this.ManualToughBtn);
this.BtnSeries.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.BtnSeries.Location = new System.Drawing.Point(526, 180);
this.BtnSeries.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.BtnSeries.MinimumSize = new System.Drawing.Size(1, 1);
this.BtnSeries.Name = "BtnSeries";
this.BtnSeries.Size = new System.Drawing.Size(363, 366);
this.BtnSeries.TabIndex = 40;
this.BtnSeries.Text = null;
this.BtnSeries.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.BtnSeries.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// label13
//
this.label13.BackColor = System.Drawing.Color.Transparent;
this.label13.Dock = System.Windows.Forms.DockStyle.Top;
this.label13.Font = new System.Drawing.Font("宋体", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label13.Location = new System.Drawing.Point(0, 0);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(363, 47);
this.label13.TabIndex = 37;
this.label13.Text = "操作按钮";
this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ManualLoosenBtn
//
this.ManualLoosenBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.ManualLoosenBtn.Font = new System.Drawing.Font("微软雅黑", 18F);
this.ManualLoosenBtn.Location = new System.Drawing.Point(2, 223);
this.ManualLoosenBtn.MinimumSize = new System.Drawing.Size(1, 1);
this.ManualLoosenBtn.Name = "ManualLoosenBtn";
this.ManualLoosenBtn.Size = new System.Drawing.Size(170, 110);
this.ManualLoosenBtn.TabIndex = 10;
this.ManualLoosenBtn.Text = "手动拧松";
this.ManualLoosenBtn.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ManualLoosenBtn.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.ManualLoosenBtn.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ManualLoosenBtn_MouseDown);
this.ManualLoosenBtn.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ManualLoosenBtn_MouseUp);
//
// AutoToughBtn1
//
this.AutoToughBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.AutoToughBtn1.Font = new System.Drawing.Font("微软雅黑", 18F);
this.AutoToughBtn1.Location = new System.Drawing.Point(183, 85);
this.AutoToughBtn1.MinimumSize = new System.Drawing.Size(1, 1);
this.AutoToughBtn1.Name = "AutoToughBtn1";
this.AutoToughBtn1.Size = new System.Drawing.Size(170, 110);
this.AutoToughBtn1.TabIndex = 11;
this.AutoToughBtn1.Text = "自动拧紧";
this.AutoToughBtn1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.AutoToughBtn1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.AutoToughBtn1.Click += new System.EventHandler(this.AutoToughBtn1_Click);
//
// AutoLoosenBtn1
//
this.AutoLoosenBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.AutoLoosenBtn1.Font = new System.Drawing.Font("微软雅黑", 18F);
this.AutoLoosenBtn1.Location = new System.Drawing.Point(183, 223);
this.AutoLoosenBtn1.MinimumSize = new System.Drawing.Size(1, 1);
this.AutoLoosenBtn1.Name = "AutoLoosenBtn1";
this.AutoLoosenBtn1.Size = new System.Drawing.Size(170, 110);
this.AutoLoosenBtn1.TabIndex = 12;
this.AutoLoosenBtn1.Text = "自动拧松";
this.AutoLoosenBtn1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.AutoLoosenBtn1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.AutoLoosenBtn1.Click += new System.EventHandler(this.AutoLoosenBtn1_Click);
//
// ManualToughBtn
//
this.ManualToughBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.ManualToughBtn.Font = new System.Drawing.Font("微软雅黑", 18F);
this.ManualToughBtn.Location = new System.Drawing.Point(3, 85);
this.ManualToughBtn.MinimumSize = new System.Drawing.Size(1, 1);
this.ManualToughBtn.Name = "ManualToughBtn";
this.ManualToughBtn.Size = new System.Drawing.Size(170, 110);
this.ManualToughBtn.TabIndex = 9;
this.ManualToughBtn.Text = "手动拧紧";
this.ManualToughBtn.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ManualToughBtn.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.ManualToughBtn.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ManualToughBtn_MouseDown);
this.ManualToughBtn.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ManualToughBtn_MouseUp);
//
// ParameterSetting
//
this.ParameterSetting.Controls.Add(this.label10);
this.ParameterSetting.Controls.Add(this.OKBtn);
this.ParameterSetting.Controls.Add(this.textBox1);
this.ParameterSetting.Controls.Add(this.label5);
this.ParameterSetting.Controls.Add(this.ResettingBtn);
this.ParameterSetting.Controls.Add(this.label6);
this.ParameterSetting.Controls.Add(this.textBox5);
this.ParameterSetting.Controls.Add(this.textBox2);
this.ParameterSetting.Controls.Add(this.label9);
this.ParameterSetting.Controls.Add(this.label7);
this.ParameterSetting.Controls.Add(this.textBox4);
this.ParameterSetting.Controls.Add(this.textBox3);
this.ParameterSetting.Controls.Add(this.label8);
this.ParameterSetting.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ParameterSetting.Location = new System.Drawing.Point(227, 180);
this.ParameterSetting.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.ParameterSetting.MinimumSize = new System.Drawing.Size(1, 1);
this.ParameterSetting.Name = "ParameterSetting";
this.ParameterSetting.Size = new System.Drawing.Size(292, 366);
this.ParameterSetting.TabIndex = 39;
this.ParameterSetting.Text = null;
this.ParameterSetting.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.ParameterSetting.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// label10
//
this.label10.BackColor = System.Drawing.Color.Transparent;
this.label10.Dock = System.Windows.Forms.DockStyle.Top;
this.label10.Font = new System.Drawing.Font("宋体", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label10.Location = new System.Drawing.Point(0, 0);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(292, 47);
this.label10.TabIndex = 36;
this.label10.Text = "参数设置";
this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// OKBtn
//
this.OKBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.OKBtn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.OKBtn.Location = new System.Drawing.Point(213, 323);
this.OKBtn.MinimumSize = new System.Drawing.Size(1, 1);
this.OKBtn.Name = "OKBtn";
this.OKBtn.Size = new System.Drawing.Size(70, 31);
this.OKBtn.TabIndex = 26;
this.OKBtn.Text = "确定";
this.OKBtn.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.OKBtn.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.OKBtn.Click += new System.EventHandler(this.OKBtn_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(149, 78);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(134, 30);
this.textBox1.TabIndex = 24;
this.textBox1.Text = "200";
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label5
//
this.label5.BackColor = System.Drawing.Color.Transparent;
this.label5.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.Location = new System.Drawing.Point(26, 78);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(114, 30);
this.label5.TabIndex = 25;
this.label5.Text = "扭矩设置:";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ResettingBtn
//
this.ResettingBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.ResettingBtn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ResettingBtn.Location = new System.Drawing.Point(137, 323);
this.ResettingBtn.MinimumSize = new System.Drawing.Size(1, 1);
this.ResettingBtn.Name = "ResettingBtn";
this.ResettingBtn.Size = new System.Drawing.Size(70, 31);
this.ResettingBtn.TabIndex = 35;
this.ResettingBtn.Text = "重置";
this.ResettingBtn.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ResettingBtn.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.ResettingBtn.Click += new System.EventHandler(this.ResettingBtn_Click);
//
// label6
//
this.label6.BackColor = System.Drawing.Color.Transparent;
this.label6.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.Location = new System.Drawing.Point(6, 125);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(150, 30);
this.label6.TabIndex = 27;
this.label6.Text = "最小旋转圈数:";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// textBox5
//
this.textBox5.Location = new System.Drawing.Point(149, 260);
this.textBox5.Multiline = true;
this.textBox5.Name = "textBox5";
this.textBox5.Size = new System.Drawing.Size(134, 30);
this.textBox5.TabIndex = 34;
this.textBox5.Text = "200";
this.textBox5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(149, 127);
this.textBox2.Multiline = true;
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(134, 30);
this.textBox2.TabIndex = 28;
this.textBox2.Text = "5";
this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label9
//
this.label9.BackColor = System.Drawing.Color.Transparent;
this.label9.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label9.Location = new System.Drawing.Point(6, 260);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(150, 30);
this.label9.TabIndex = 33;
this.label9.Text = "拧紧超时设置:";
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label7
//
this.label7.BackColor = System.Drawing.Color.Transparent;
this.label7.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label7.Location = new System.Drawing.Point(6, 172);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(150, 30);
this.label7.TabIndex = 29;
this.label7.Text = "最大旋转圈数:";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(149, 217);
this.textBox4.Multiline = true;
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(134, 30);
this.textBox4.TabIndex = 32;
this.textBox4.Text = "160";
this.textBox4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(149, 172);
this.textBox3.Multiline = true;
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(134, 30);
this.textBox3.TabIndex = 30;
this.textBox3.Text = "15";
this.textBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label8
//
this.label8.BackColor = System.Drawing.Color.Transparent;
this.label8.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label8.Location = new System.Drawing.Point(26, 217);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(114, 30);
this.label8.TabIndex = 31;
this.label8.Text = "目标扭矩:";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// LightSeries
//
this.LightSeries.Controls.Add(this.label15);
this.LightSeries.Controls.Add(this.RobotAStatus);
this.LightSeries.Controls.Add(this.label12);
this.LightSeries.Controls.Add(this.label11);
this.LightSeries.Controls.Add(this.ManualLight);
this.LightSeries.Controls.Add(this.AutoLight);
this.LightSeries.Controls.Add(this.MoveStateLight1);
this.LightSeries.Controls.Add(this.StopStateLight1);
this.LightSeries.Controls.Add(this.ToughLight1);
this.LightSeries.Controls.Add(this.LoosenLight1);
this.LightSeries.Controls.Add(this.label1);
this.LightSeries.Controls.Add(this.label2);
this.LightSeries.Controls.Add(this.label3);
this.LightSeries.Controls.Add(this.label4);
this.LightSeries.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LightSeries.Location = new System.Drawing.Point(225, 0);
this.LightSeries.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.LightSeries.MinimumSize = new System.Drawing.Size(1, 1);
this.LightSeries.Name = "LightSeries";
this.LightSeries.Size = new System.Drawing.Size(813, 153);
this.LightSeries.TabIndex = 38;
this.LightSeries.Text = null;
this.LightSeries.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.LightSeries.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// label15
//
this.label15.AutoSize = true;
this.label15.BackColor = System.Drawing.Color.Silver;
this.label15.Location = new System.Drawing.Point(713, 100);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(74, 42);
this.label15.TabIndex = 29;
this.label15.Text = "机械臂\r\n连接状态";
this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// RobotAStatus
//
this.RobotAStatus.BackColor = System.Drawing.Color.Gray;
this.RobotAStatus.Cursor = System.Windows.Forms.Cursors.Hand;
this.RobotAStatus.Enabled = false;
this.RobotAStatus.Location = new System.Drawing.Point(706, 7);
this.RobotAStatus.Name = "RobotAStatus";
this.RobotAStatus.Size = new System.Drawing.Size(90, 90);
this.RobotAStatus.TabIndex = 28;
this.RobotAStatus.UseVisualStyleBackColor = false;
//
// label12
//
this.label12.AutoSize = true;
this.label12.BackColor = System.Drawing.Color.Silver;
this.label12.Location = new System.Drawing.Point(545, 100);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(106, 42);
this.label12.TabIndex = 27;
this.label12.Text = "自动拧松状态\r\n指示灯";
this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label11
//
this.label11.AutoSize = true;
this.label11.BackColor = System.Drawing.Color.Silver;
this.label11.Location = new System.Drawing.Point(433, 100);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(106, 42);
this.label11.TabIndex = 26;
this.label11.Text = "自动拧紧状态\r\n指示灯";
this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ManualLight
//
this.ManualLight.BackColor = System.Drawing.Color.Gray;
this.ManualLight.Cursor = System.Windows.Forms.Cursors.Hand;
this.ManualLight.Enabled = false;
this.ManualLight.Location = new System.Drawing.Point(549, 7);
this.ManualLight.Name = "ManualLight";
this.ManualLight.Size = new System.Drawing.Size(90, 90);
this.ManualLight.TabIndex = 25;
this.ManualLight.UseVisualStyleBackColor = false;
//
// AutoLight
//
this.AutoLight.BackColor = System.Drawing.Color.Gray;
this.AutoLight.Cursor = System.Windows.Forms.Cursors.Hand;
this.AutoLight.Enabled = false;
this.AutoLight.Location = new System.Drawing.Point(437, 7);
this.AutoLight.Name = "AutoLight";
this.AutoLight.Size = new System.Drawing.Size(90, 90);
this.AutoLight.TabIndex = 24;
this.AutoLight.UseVisualStyleBackColor = false;
//
// MoveStateLight1
//
this.MoveStateLight1.BackColor = System.Drawing.Color.Gray;
this.MoveStateLight1.Location = new System.Drawing.Point(17, 7);
this.MoveStateLight1.Name = "MoveStateLight1";
this.MoveStateLight1.Size = new System.Drawing.Size(90, 90);
this.MoveStateLight1.TabIndex = 3;
this.MoveStateLight1.UseVisualStyleBackColor = false;
//
// StopStateLight1
//
this.StopStateLight1.BackColor = System.Drawing.Color.Gray;
this.StopStateLight1.Location = new System.Drawing.Point(117, 7);
this.StopStateLight1.Name = "StopStateLight1";
this.StopStateLight1.Size = new System.Drawing.Size(90, 90);
this.StopStateLight1.TabIndex = 15;
this.StopStateLight1.UseVisualStyleBackColor = false;
//
// ToughLight1
//
this.ToughLight1.BackColor = System.Drawing.Color.Gray;
this.ToughLight1.Location = new System.Drawing.Point(217, 7);
this.ToughLight1.Name = "ToughLight1";
this.ToughLight1.Size = new System.Drawing.Size(90, 90);
this.ToughLight1.TabIndex = 16;
this.ToughLight1.UseVisualStyleBackColor = false;
//
// LoosenLight1
//
this.LoosenLight1.BackColor = System.Drawing.Color.Gray;
this.LoosenLight1.Location = new System.Drawing.Point(326, 7);
this.LoosenLight1.Name = "LoosenLight1";
this.LoosenLight1.Size = new System.Drawing.Size(90, 90);
this.LoosenLight1.TabIndex = 17;
this.LoosenLight1.UseVisualStyleBackColor = false;
//
// label1
//
this.label1.AutoSize = true;
this.label1.BackColor = System.Drawing.Color.Silver;
this.label1.Location = new System.Drawing.Point(24, 100);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(74, 42);
this.label1.TabIndex = 20;
this.label1.Text = "启动状态\r\n指示灯";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Silver;
this.label2.Location = new System.Drawing.Point(121, 100);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(74, 42);
this.label2.TabIndex = 21;
this.label2.Text = "停止状态\r\n指示灯";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label3
//
this.label3.AutoSize = true;
this.label3.BackColor = System.Drawing.Color.Silver;
this.label3.Location = new System.Drawing.Point(209, 100);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(106, 42);
this.label3.TabIndex = 22;
this.label3.Text = "手动拧紧状态\r\n指示灯";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.AutoSize = true;
this.label4.BackColor = System.Drawing.Color.Silver;
this.label4.Location = new System.Drawing.Point(321, 100);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(106, 42);
this.label4.TabIndex = 23;
this.label4.Text = "手动拧松状态\r\n指示灯";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// uiPanel2
//
this.uiPanel2.Controls.Add(this.label14);
this.uiPanel2.Controls.Add(this.AutoBtn1);
this.uiPanel2.Controls.Add(this.ManualBtn1);
this.uiPanel2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel2.Location = new System.Drawing.Point(896, 180);
this.uiPanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel2.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel2.Name = "uiPanel2";
this.uiPanel2.Size = new System.Drawing.Size(142, 366);
this.uiPanel2.TabIndex = 37;
this.uiPanel2.Text = null;
this.uiPanel2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// label14
//
this.label14.BackColor = System.Drawing.Color.Transparent;
this.label14.Dock = System.Windows.Forms.DockStyle.Top;
this.label14.Font = new System.Drawing.Font("宋体", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label14.Location = new System.Drawing.Point(0, 0);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(142, 47);
this.label14.TabIndex = 38;
this.label14.Text = "操作按钮";
this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// AutoBtn1
//
this.AutoBtn1.BackColor = System.Drawing.Color.Gray;
this.AutoBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.AutoBtn1.Location = new System.Drawing.Point(15, 85);
this.AutoBtn1.Name = "AutoBtn1";
this.AutoBtn1.Size = new System.Drawing.Size(112, 112);
this.AutoBtn1.TabIndex = 18;
this.AutoBtn1.Text = "自动按钮";
this.AutoBtn1.UseVisualStyleBackColor = false;
this.AutoBtn1.Click += new System.EventHandler(this.AutoBtn1_Click);
//
// ManualBtn1
//
this.ManualBtn1.BackColor = System.Drawing.Color.Gray;
this.ManualBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.ManualBtn1.Location = new System.Drawing.Point(15, 223);
this.ManualBtn1.Name = "ManualBtn1";
this.ManualBtn1.Size = new System.Drawing.Size(112, 112);
this.ManualBtn1.TabIndex = 19;
this.ManualBtn1.Text = "手动按钮";
this.ManualBtn1.UseVisualStyleBackColor = false;
this.ManualBtn1.Click += new System.EventHandler(this.ManualBtn1_Click);
//
// ESBtn
//
this.ESBtn.BackColor = System.Drawing.Color.Red;
this.ESBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.ESBtn.Location = new System.Drawing.Point(3, 180);
this.ESBtn.Name = "ESBtn";
this.ESBtn.Size = new System.Drawing.Size(219, 219);
this.ESBtn.TabIndex = 0;
this.ESBtn.Text = "急停";
this.ESBtn.UseVisualStyleBackColor = false;
this.ESBtn.Click += new System.EventHandler(this.ESBtn_Click);
//
// TestBtn
//
this.TestBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.TestBtn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.TestBtn.Location = new System.Drawing.Point(8, 554);
this.TestBtn.MinimumSize = new System.Drawing.Size(1, 1);
this.TestBtn.Name = "TestBtn";
this.TestBtn.Size = new System.Drawing.Size(100, 35);
this.TestBtn.TabIndex = 14;
this.TestBtn.Text = "测试按钮";
this.TestBtn.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.TestBtn.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// AutoLoosenBtn
//
@ -285,16 +867,16 @@ namespace BRS.Process.A020.UI
//
chartArea2.Name = "ChartArea1";
this.chart1.ChartAreas.Add(chartArea2);
this.chart1.Dock = System.Windows.Forms.DockStyle.Left;
this.chart1.Dock = System.Windows.Forms.DockStyle.Fill;
legend2.Name = "Legend1";
this.chart1.Legends.Add(legend2);
this.chart1.Location = new System.Drawing.Point(634, 0);
this.chart1.Location = new System.Drawing.Point(1038, 0);
this.chart1.Name = "chart1";
series2.ChartArea = "ChartArea1";
series2.Legend = "Legend1";
series2.Name = "Series1";
this.chart1.Series.Add(series2);
this.chart1.Size = new System.Drawing.Size(400, 568);
this.chart1.Size = new System.Drawing.Size(407, 601);
this.chart1.TabIndex = 17;
this.chart1.Text = "chart1";
//
@ -312,199 +894,32 @@ namespace BRS.Process.A020.UI
this.uiButton1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.uiButton1.Click += new System.EventHandler(this.uiButton1_Click);
//
// StartBtn1
// timer2
//
this.StartBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.StartBtn1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.StartBtn1.Location = new System.Drawing.Point(199, 156);
this.StartBtn1.MinimumSize = new System.Drawing.Size(1, 1);
this.StartBtn1.Name = "StartBtn1";
this.StartBtn1.Size = new System.Drawing.Size(100, 35);
this.StartBtn1.TabIndex = 7;
this.StartBtn1.Text = "开始";
this.StartBtn1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.StartBtn1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.StartBtn1.Click += new System.EventHandler(this.StartBtn1_Click);
//
// StopBtn2
//
this.StopBtn2.Cursor = System.Windows.Forms.Cursors.Hand;
this.StopBtn2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.StopBtn2.Location = new System.Drawing.Point(199, 229);
this.StopBtn2.MinimumSize = new System.Drawing.Size(1, 1);
this.StopBtn2.Name = "StopBtn2";
this.StopBtn2.Size = new System.Drawing.Size(100, 35);
this.StopBtn2.TabIndex = 8;
this.StopBtn2.Text = "停止";
this.StopBtn2.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.StopBtn2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.StopBtn2.Click += new System.EventHandler(this.StopBtn2_Click);
//
// ManualToughBtn
//
this.ManualToughBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.ManualToughBtn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ManualToughBtn.Location = new System.Drawing.Point(420, 156);
this.ManualToughBtn.MinimumSize = new System.Drawing.Size(1, 1);
this.ManualToughBtn.Name = "ManualToughBtn";
this.ManualToughBtn.Size = new System.Drawing.Size(100, 35);
this.ManualToughBtn.TabIndex = 9;
this.ManualToughBtn.Text = "手动拧紧";
this.ManualToughBtn.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ManualToughBtn.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.ManualToughBtn.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ManualToughBtn_MouseDown);
this.ManualToughBtn.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ManualToughBtn_MouseUp);
//
// ManualLoosenBtn
//
this.ManualLoosenBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.ManualLoosenBtn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ManualLoosenBtn.Location = new System.Drawing.Point(420, 229);
this.ManualLoosenBtn.MinimumSize = new System.Drawing.Size(1, 1);
this.ManualLoosenBtn.Name = "ManualLoosenBtn";
this.ManualLoosenBtn.Size = new System.Drawing.Size(100, 35);
this.ManualLoosenBtn.TabIndex = 10;
this.ManualLoosenBtn.Text = "手动拧松";
this.ManualLoosenBtn.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.ManualLoosenBtn.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.ManualLoosenBtn.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ManualLoosenBtn_MouseDown);
this.ManualLoosenBtn.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ManualLoosenBtn_MouseUp);
//
// AutoToughBtn1
//
this.AutoToughBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.AutoToughBtn1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.AutoToughBtn1.Location = new System.Drawing.Point(420, 364);
this.AutoToughBtn1.MinimumSize = new System.Drawing.Size(1, 1);
this.AutoToughBtn1.Name = "AutoToughBtn1";
this.AutoToughBtn1.Size = new System.Drawing.Size(100, 35);
this.AutoToughBtn1.TabIndex = 11;
this.AutoToughBtn1.Text = "自动拧紧";
this.AutoToughBtn1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.AutoToughBtn1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// AutoLoosenBtn1
//
this.AutoLoosenBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.AutoLoosenBtn1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.AutoLoosenBtn1.Location = new System.Drawing.Point(420, 421);
this.AutoLoosenBtn1.MinimumSize = new System.Drawing.Size(1, 1);
this.AutoLoosenBtn1.Name = "AutoLoosenBtn1";
this.AutoLoosenBtn1.Size = new System.Drawing.Size(100, 35);
this.AutoLoosenBtn1.TabIndex = 12;
this.AutoLoosenBtn1.Text = "自动拧松";
this.AutoLoosenBtn1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.AutoLoosenBtn1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// Setting
//
this.Setting.Cursor = System.Windows.Forms.Cursors.Hand;
this.Setting.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Setting.Location = new System.Drawing.Point(199, 299);
this.Setting.MinimumSize = new System.Drawing.Size(1, 1);
this.Setting.Name = "Setting";
this.Setting.Size = new System.Drawing.Size(100, 35);
this.Setting.TabIndex = 13;
this.Setting.Text = "设置";
this.Setting.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Setting.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// TestBtn
//
this.TestBtn.Cursor = System.Windows.Forms.Cursors.Hand;
this.TestBtn.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.TestBtn.Location = new System.Drawing.Point(27, 457);
this.TestBtn.MinimumSize = new System.Drawing.Size(1, 1);
this.TestBtn.Name = "TestBtn";
this.TestBtn.Size = new System.Drawing.Size(100, 35);
this.TestBtn.TabIndex = 14;
this.TestBtn.Text = "测试按钮";
this.TestBtn.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.TestBtn.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// ManualBtn1
//
this.ManualBtn1.BackColor = System.Drawing.Color.Gray;
this.ManualBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.ManualBtn1.Location = new System.Drawing.Point(491, 284);
this.ManualBtn1.Name = "ManualBtn1";
this.ManualBtn1.Size = new System.Drawing.Size(58, 50);
this.ManualBtn1.TabIndex = 19;
this.ManualBtn1.Text = "手动按钮";
this.ManualBtn1.UseVisualStyleBackColor = false;
this.ManualBtn1.Click += new System.EventHandler(this.ManualBtn1_Click);
//
// AutoBtn1
//
this.AutoBtn1.BackColor = System.Drawing.Color.Gray;
this.AutoBtn1.Cursor = System.Windows.Forms.Cursors.Hand;
this.AutoBtn1.Location = new System.Drawing.Point(398, 284);
this.AutoBtn1.Name = "AutoBtn1";
this.AutoBtn1.Size = new System.Drawing.Size(58, 50);
this.AutoBtn1.TabIndex = 18;
this.AutoBtn1.Text = "自动按钮";
this.AutoBtn1.UseVisualStyleBackColor = false;
this.AutoBtn1.Click += new System.EventHandler(this.AutoBtn1_Click);
//
// LoosenLight1
//
this.LoosenLight1.BackColor = System.Drawing.Color.Gray;
this.LoosenLight1.Location = new System.Drawing.Point(491, 39);
this.LoosenLight1.Name = "LoosenLight1";
this.LoosenLight1.Size = new System.Drawing.Size(75, 64);
this.LoosenLight1.TabIndex = 17;
this.LoosenLight1.UseVisualStyleBackColor = false;
//
// ToughLight1
//
this.ToughLight1.BackColor = System.Drawing.Color.Gray;
this.ToughLight1.Location = new System.Drawing.Point(341, 39);
this.ToughLight1.Name = "ToughLight1";
this.ToughLight1.Size = new System.Drawing.Size(75, 64);
this.ToughLight1.TabIndex = 16;
this.ToughLight1.UseVisualStyleBackColor = false;
//
// StopStateLight1
//
this.StopStateLight1.BackColor = System.Drawing.Color.Gray;
this.StopStateLight1.Location = new System.Drawing.Point(211, 39);
this.StopStateLight1.Name = "StopStateLight1";
this.StopStateLight1.Size = new System.Drawing.Size(75, 64);
this.StopStateLight1.TabIndex = 15;
this.StopStateLight1.UseVisualStyleBackColor = false;
//
// MoveStateLight1
//
this.MoveStateLight1.BackColor = System.Drawing.Color.Gray;
this.MoveStateLight1.Location = new System.Drawing.Point(67, 39);
this.MoveStateLight1.Name = "MoveStateLight1";
this.MoveStateLight1.Size = new System.Drawing.Size(75, 64);
this.MoveStateLight1.TabIndex = 3;
this.MoveStateLight1.UseVisualStyleBackColor = false;
//
// ESBtn
//
this.ESBtn.BackColor = System.Drawing.Color.Red;
this.ESBtn.Location = new System.Drawing.Point(46, 147);
this.ESBtn.Name = "ESBtn";
this.ESBtn.Size = new System.Drawing.Size(111, 102);
this.ESBtn.TabIndex = 0;
this.ESBtn.Text = "急停";
this.ESBtn.UseVisualStyleBackColor = false;
this.timer2.Interval = 1000;
this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
//
// 扭矩轴控制
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1509, 568);
this.ClientSize = new System.Drawing.Size(1825, 601);
this.Controls.Add(this.chart1);
this.Controls.Add(this.uiPanel1);
this.Controls.Add(this.chart2);
this.Name = "扭矩轴控制";
this.Text = "ContorlShaft";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this._FormClosing);
this.Load += new System.EventHandler(this._Load);
((System.ComponentModel.ISupportInitialize)(this.chart2)).EndInit();
this.uiPanel1.ResumeLayout(false);
this.uiPanel3.ResumeLayout(false);
this.BtnSeries.ResumeLayout(false);
this.ParameterSetting.ResumeLayout(false);
this.ParameterSetting.PerformLayout();
this.LightSeries.ResumeLayout(false);
this.LightSeries.PerformLayout();
this.uiPanel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit();
this.ResumeLayout(false);
@ -541,7 +956,6 @@ namespace BRS.Process.A020.UI
private CircleButton ToughLight1;
private CircleButton StopStateLight1;
private Sunny.UI.UIButton TestBtn;
private Sunny.UI.UIButton Setting;
private Sunny.UI.UIButton AutoLoosenBtn1;
private Sunny.UI.UIButton AutoToughBtn1;
private Sunny.UI.UIButton ManualLoosenBtn;
@ -550,5 +964,36 @@ namespace BRS.Process.A020.UI
private Sunny.UI.UIButton StartBtn1;
private CircleButton MoveStateLight1;
private CircleButton ESBtn;
private System.Windows.Forms.Timer timer2;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label5;
private Sunny.UI.UIButton OKBtn;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox textBox5;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.Label label8;
private Sunny.UI.UIButton ResettingBtn;
private Sunny.UI.UIPanel uiPanel2;
private Sunny.UI.UIPanel ParameterSetting;
private System.Windows.Forms.Label label10;
private Sunny.UI.UIPanel LightSeries;
private Sunny.UI.UIPanel BtnSeries;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label11;
private CircleButton ManualLight;
private CircleButton AutoLight;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label15;
private CircleButton RobotAStatus;
private Sunny.UI.UIPanel uiPanel3;
}
}

View File

@ -19,24 +19,27 @@ using static BRS.Common.Model.Helper.EnumHelper;
namespace BRS.Process.A020.UI
{
[MenuNode("ControlShaft", "扭矩轴控制", 5, "View2", true)]
[MenuNode("ControlShaft", "拧紧轴轴控制", 5, "View2", true)]
public partial class : MenuFormBase, IRunCtrl
{
private DateTime X_minValue;//横坐标最初值
private bool is_btn_manual { get; set; } = false;
private bool is_btn_manual { get; set; } = false;//是否手动
private bool isOpenAuto { get; set; } = false;//是否正在自动操作
int resValue1;
int resValue2;
ShaftMachineState shaftState=ShaftMachineState.Unknown;
A020Process ProcessA020 => Process as A020Process;
A020Config Config => Process?.IConfig as A020Config;
private bool isSingleStepOperating = false;
//private bool isSingleStepOperating = false;
public ()
{
InitializeComponent();
}
public IDevice Device { get; set; }
protected PLCBase PLC
{
@ -49,6 +52,72 @@ namespace BRS.Process.A020.UI
Device = device;
}
PLCBase pLCBase = null;
TCPSeverBase TcpListerWrapBase1 = null;
string Message1 = null;
public override void OnProcessUpdated()
{
base.OnProcessUpdated();
//ProcessA020.OnPLCStateChanged -= Test;
//ProcessA020.OnPLCStateChanged += Test;
//ProcessA020.OnBitmapChanged -= BitMapTest;
//ProcessA020.OnBitmapChanged += BitMapTest;
pLCBase = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
TcpListerWrapBase1 = ProcessA020.DeviceCollection.Find(d => d is TCPSeverBase && d.InitialConfig.Name == "123") as TCPSeverBase;
if (TcpListerWrapBase1 != null)
{
TcpListerWrapBase1.OnTcpDataReceived -= NbtRobotDriver_OnDataReceived;
TcpListerWrapBase1.OnTcpDataReceived += NbtRobotDriver_OnDataReceived;
TcpListerWrapBase1.OnTirggeredConnectClose -= NbtRobotDriver_OnTirggeredConnectClose;
TcpListerWrapBase1.OnTirggeredConnectClose += NbtRobotDriver_OnTirggeredConnectClose;
TcpListerWrapBase1.OnTirggeredConnectOpen -= NbtRobotDriver_OnTirggeredConnectOpen;
TcpListerWrapBase1.OnTirggeredConnectOpen += NbtRobotDriver_OnTirggeredConnectOpen;
}
}
private void NbtRobotDriver_OnTirggeredConnectClose()
{
RobotAStatus.BackColor = Color.Red;
}
private void NbtRobotDriver_OnTirggeredConnectOpen()
{
RobotAStatus.BackColor = Color.Green;
}
private void NbtRobotDriver_OnDataReceived(byte[] obj)
{
string msg = string.Empty;
msg = Encoding.Default.GetString(obj);
Message1 = msg;
//}
//else if (rbHexData.Checked)
//{
// //msg = ToHexStrFromByte(obj);
// msg = BitConverter.ToString(obj).Replace('-', ' ');
//}
bool Bmsg = msg.Contains("Status_");
if (Bmsg)
{
string[] arr = msg.Split('_');
if (arr.Count() > 6)
{
if (arr[1] == "TEACH")
MessageBox.Show("当前属于示教模式,请选择自动模式");
if (arr[2] == "ON")
MessageBox.Show("当前属于示教锁定,请选择自动模式");
if (arr[3] == "HOLD")
MessageBox.Show("当前系统状态异常,请检查");
if (arr[4] == "OFF")
MessageBox.Show("当前属于断电模式,请上电");
if (arr[6] == "ERROR")
MessageBox.Show("当前系统状态异常,请检查");
}
}
}
private async void StartBtn_Click(object sender, EventArgs e)
{
@ -147,7 +216,10 @@ namespace BRS.Process.A020.UI
private void _Load(object sender, EventArgs e)
{
InitChart();
}
#if false
private void Init_Chart()
@ -492,6 +564,7 @@ namespace BRS.Process.A020.UI
private void StartBtn1_Click(object sender, EventArgs e)
{
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
if (Process == null)
{
MessageBox.Show("无法操作空流程");
@ -502,12 +575,12 @@ namespace BRS.Process.A020.UI
try
{
ProcessOperation(true);//点击开始按钮后执行
//if (isStart)
//{
// await ProcessOperation(true);
// //ProcessOperation(true);
//}
//ProcessOperation(true);//点击开始按钮后执行
if (isStart)
{
ProcessOperation(true);
//ProcessOperation(true);
}
}
catch (Exception ex)
{
@ -524,42 +597,44 @@ namespace BRS.Process.A020.UI
this.ManualBtn1.Enabled = true;
//设置开始按钮状态
StartBtn1.Enabled = true;
shaftState = ShaftMachineState.Unknown;
ESBtn.BackColor = Color.Red;
ESBtn.Text = "急停";
ProcessWriteInt(MelsecPLC, "D19", "int", "0");
//string d171 = textBox1.Text;
//ProcessWriteInt(MelsecPLC, "D171", "int", d171);
ProcessWriteInt(MelsecPLC, "D171", "int", textBox1.Text);
ProcessWriteInt(MelsecPLC, "D161", "int", textBox2.Text);
ProcessWriteInt(MelsecPLC, "D163", "int", textBox3.Text);
ProcessWriteInt(MelsecPLC, "D173", "int", textBox4.Text);
ProcessWriteInt(MelsecPLC, "D151", "int", textBox5.Text);
}
}
private void StopBtn2_Click(object sender, EventArgs e)
{
if (Process == null)
if (shaftState == ShaftMachineState.Emergency)
{
MessageBox.Show("无法操作空流程");
LogAsync(DateTime.Now, LogLevel.Error, "当前急停,无法操作");
return;
}
else if (MoveStateLight1.BackColor == Color.Gray && StopStateLight1.BackColor == Color.Gray)
{
LogAsync(DateTime.Now, LogLevel.Error, "当前流程未启动,无法操作");
return;
}
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
ProcessWriteInt(MelsecPLC, "D3", "int", "1");
ProcessWriteInt(MelsecPLC, "D55", "int", "0");
ProcessWriteInt(MelsecPLC, "D171", "int", "0");
ProcessWriteInt(MelsecPLC, "D151", "int", "0");
StopBtn2.Enabled = false;
try
{
ProcessOperation(false);
//if (isStart)
//{
// await ProcessOperation(false);
//}
}
catch (Exception ex)
{
//MessageBox.Show(ex.GetExceptionMessage());
}
finally
{
this.StopStateLight1.BackColor = Color.Red;
this.MoveStateLight1.BackColor = Color.Gray;
this.ToughLight1.BackColor = Color.Gray;
this.LoosenLight1.BackColor = Color.Gray;
//将自动手动按钮颜色恢复为灰色
this.AutoBtn1.BackColor = Color.Gray;
this.ManualBtn1.BackColor = Color.Gray;
//点击停止后初始化图表
InitChart();
StopBtn2.Enabled = true;
}
this.AutoLight.BackColor = Color.Red;
timer1.Stop();
timer2.Stop();
isOpenAuto = false;
}
/// <summary>
/// 手动拧紧鼠标按下
@ -692,13 +767,29 @@ namespace BRS.Process.A020.UI
LogAsync(DateTime.Now, LogLevel.Error, $"有未完成的操作。");
}
}
/// <summary>
/// 点击自动按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void AutoBtn1_Click(object sender, EventArgs e)
{
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
if (MoveStateLight1.BackColor == Color.GreenYellow)
{
if (isOpenAuto == true)
{
LogAsync(DateTime.Now, LogLevel.Error, "流程已启动,请勿重新启动!");
}
else
{
ProcessWriteInt(MelsecPLC, "D7", "int", "1");
AutoBtn1.BackColor = Color.GreenYellow;
ManualBtn1.BackColor = Color.Gray;
AutoLight.BackColor = Color.Red;
is_btn_manual = false;
}
}
else if (StopStateLight1.BackColor == Color.Red)
{
@ -707,11 +798,329 @@ namespace BRS.Process.A020.UI
}
private void ManualBtn1_Click(object sender, EventArgs e)
{
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
if (MoveStateLight1.BackColor == Color.GreenYellow)
{
if (isOpenAuto == true)
{
LogAsync(DateTime.Now, LogLevel.Error, "当前正在进行自动操作,请勿切换!");
}
else
{
ProcessWriteInt(MelsecPLC, "D7", "int", "0");
AutoBtn1.BackColor = Color.Gray;
ManualBtn1.BackColor = Color.GreenYellow;
}
}
else if (StopStateLight1.BackColor == Color.Red)
{
LogAsync(DateTime.Now, LogLevel.Error, "当前流程未启动,无法选择操作模式");
}
is_btn_manual = true;
}
/// <summary>
/// 自动拧紧
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void AutoToughBtn1_Click(object sender, EventArgs e)
{
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
string addressD07 = ProcessReadInt(MelsecPLC, "D07", "int");
string addD201 = ProcessReadInt(MelsecPLC, "D201", "int");
string addD19 = ProcessReadInt(MelsecPLC, "D19", "int");
//string MaxAngleValue = ProcessReadInt(MelsecPLC, "D163", "int");//读取旋转所需圈数的最大值
//string MinAngleValue = ProcessReadInt(MelsecPLC, "D161", "int");//最小值
//string overtime = ProcessReadInt(MelsecPLC, "D151", "int");//拧紧超时设定值,当空转达到设定的值时会停止
//string MaxSettingTorsionValue = ProcessReadInt(MelsecPLC, "D173", "int");//最大扭矩设定值,当达到这一个值时会停止
//string torsionTime = ProcessReadInt(MelsecPLC, "D155", "int");//扭矩到目标设定值计时设定值
string MaxAngleValue = textBox3.Text;
string MinAngleValue = textBox2.Text;
string overtime = textBox5.Text;
string MaxSettingTorsionValue = textBox4.Text;
string shaftValue = textBox1.Text;
if (shaftValue==""||MaxAngleValue == "" || MinAngleValue == "" || overtime == "" || MaxSettingTorsionValue == "")
{
LogAsync(DateTime.Now, LogLevel.Error, "请输入参数!");
return;
}
else if (MoveStateLight1.BackColor == Color.GreenYellow && addD201 == "111" && addD19 == "0")
{
if (addressD07 == "1")
{
if (!ProcessA020.IsSingleStepOperating)
{
if (isOpenAuto == true)
{
LogAsync(DateTime.Now, LogLevel.Error, "流程已启动,请勿重新启动!");
return;
}
isOpenAuto = true;
ProcessA020.IsSingleStepOperating = true;
ProcessA020.ShaftAutoTough(MachineState.Ready);
AutoLight.BackColor = Color.GreenYellow;
timer1.Start();
timer2.Start();
}
else
LogAsync(DateTime.Now, LogLevel.Error, $"有未完成的操作。");
}
else
{
LogAsync(DateTime.Now, LogLevel.Error, $"未打到自动状态");
}
}
else
{
isOpenAuto = false;
LogAsync(DateTime.Now, LogLevel.Error, $"当前流程未启动");
}
}
/// <summary>
/// 自动拧松
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void AutoLoosenBtn1_Click(object sender, EventArgs e)
{
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
string addressD07 = ProcessReadInt(MelsecPLC, "D07", "int");
string addD201 = ProcessReadInt(MelsecPLC, "D201", "int");
string addD19 = ProcessReadInt(MelsecPLC, "D19", "int");
if (MoveStateLight1.BackColor == Color.GreenYellow && addD201 == "111" && addD19 == "0")
{
if (addressD07 == "1")
{
if (!ProcessA020.IsSingleStepOperating)
{
if (isOpenAuto == true)
{
LogAsync(DateTime.Now, LogLevel.Error, "流程已启动,请勿重新启动!");
return;
}
isOpenAuto = true;
ProcessA020.IsSingleStepOperating = true;
ProcessA020.ShaftAutoLoosen(MachineState.Ready);
timer1.Start();
timer2.Start();
}
else
LogAsync(DateTime.Now, LogLevel.Error, $"有未完成的操作。");
}
else
{
LogAsync(DateTime.Now, LogLevel.Error, $"未打到自动状态");
}
}
else
{
isOpenAuto = false;
LogAsync(DateTime.Now, LogLevel.Error, $"当前流程未启动");
}
}
private void timer2_Tick(object sender, EventArgs e)
{
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
string torsionValue = ProcessReadInt(MelsecPLC, "D251", "int");
string angleValue = ProcessReadInt(MelsecPLC, "D351", "int");
resValue1 = Convert.ToInt32(torsionValue);//将接收到的返回值转为int类型
resValue2 = Convert.ToInt32(angleValue)/200000;
int MaxAngleValue = Convert.ToInt32(ProcessReadInt(MelsecPLC, "D163", "int"));//读取旋转所需圈数的最大值
int MinAngleValue = Convert.ToInt32(ProcessReadInt(MelsecPLC, "D161", "int"));//最小值
int overtime = Convert.ToInt32(ProcessReadInt(MelsecPLC, "D151", "int"));//拧紧超时设定值,当空转达到设定的值时会停止
int MaxSettingTorsionValue = Convert.ToInt32(ProcessReadInt(MelsecPLC, "D173", "int"));//最大扭矩设定值,当达到这一个值时会停止
int torsionTime = Convert.ToInt32(ProcessReadInt(MelsecPLC, "D155", "int"));//扭矩到目标设定值计时设定值
if (resValue1 >= MaxSettingTorsionValue)
{
//ProcessA020.StopProcess();
//ProcessWriteInt(MelsecPLC, "D55", "int", "0");//到位时D55置0停止
//ProcessWriteInt(MelsecPLC, "D171", "int", "0");
LogAsync(DateTime.Now, LogLevel.Information, "已完成");
if (MinAngleValue <= resValue2 && resValue2 <= MaxAngleValue)
{
timer2.Stop();
timer1.Stop();
LogAsync(DateTime.Now, LogLevel.Information, "产品合格");
isOpenAuto = false;
//机械手控制螺丝机退出螺丝,
return;
}
else if (resValue2 < MinAngleValue)
{
timer2.Stop();
timer1.Stop();
//ProcessWriteInt(MelsecPLC, "D171", "int", "0");
LogAsync(DateTime.Now, LogLevel.Error, "螺丝卡丝");
isOpenAuto = false;
return;
}
//else if (resValue2 > MaxAngleValue)
//{
// LogAsync(DateTime.Now, LogLevel.Error, "螺丝滑丝");
// isOpenAuto = false;
// break;
//}
}
else if (resValue2 > MaxAngleValue)
{
Thread.Sleep(100);
timer2.Stop();
LogAsync(DateTime.Now, LogLevel.Error, "螺丝滑丝");
isOpenAuto = false;
return;
}
}
/// <summary>
/// 急停按钮结束PLC连接停止流程
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ESBtn_Click(object sender, EventArgs e)
{
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
if (MoveStateLight1.BackColor == Color.GreenYellow)
{
if (ESBtn.Text == "急停" && ESBtn.BackColor == Color.Red)
{
ProcessWriteInt(MelsecPLC, "D3", "int", "1");//D3写入1使上位机停止
ProcessWriteInt(MelsecPLC, "D19", "int", "1");
ProcessWriteInt(MelsecPLC, "D7", "int", "0");
ProcessWriteInt(MelsecPLC, "D51", "int", "0");
ProcessWriteInt(MelsecPLC, "D53", "int", "0");
//ProcessWriteInt(MelsecPLC, "D55", "int", "0");
ProcessWriteInt(MelsecPLC, "D171", "int", "0");
TcpListerWrapBase1.SendMessage("PowerOFF_");//机械臂下电
shaftState = ShaftMachineState.Emergency;
this.StopStateLight1.BackColor = Color.Red;
this.MoveStateLight1.BackColor = Color.Gray;
this.ToughLight1.BackColor = Color.Gray;
this.LoosenLight1.BackColor = Color.Gray;
this.AutoLight.BackColor = Color.Gray;
//将急停按钮变为复位按钮
ESBtn.Text = "复位";
ESBtn.BackColor = Color.GreenYellow;
//将自动手动按钮颜色恢复为灰色
this.AutoBtn1.BackColor = Color.Gray;
this.ManualBtn1.BackColor = Color.Gray;
//点击停止后初始化图表
InitChart();
timer1.Stop();
timer2.Stop();
isOpenAuto = false;
}
}
else if(shaftState==ShaftMachineState.Emergency)
{
ProcessWriteInt(MelsecPLC, "D19", "int", "0");
ESBtn.Text = "急停";
ESBtn.BackColor = Color.Red;
this.StopStateLight1.BackColor = Color.Gray;
this.MoveStateLight1.BackColor = Color.GreenYellow;
shaftState = ShaftMachineState.Reset;
}
else
{
LogAsync(DateTime.Now, LogLevel.Error, "当前流程未启动");
return;
}
#if false
// if (Process == null)
// {
// MessageBox.Show("无法操作空流程");
// return;
// }
//StopBtn2.Enabled = false;
// try
// {
// //ProcessOperation(true);//点击开始按钮后执行
// if (isStart)
// {
// ProcessOperation(false);
// //ProcessOperation(true);
// }
// }
// catch (Exception ex)
// {
// //MessageBox.Show(ex.GetExceptionMessage());
// }
// finally
// {
// //this.MoveStateLight1.BackColor = Color.GreenYellow;
// //this.StopStateLight1.BackColor = Color.Gray;
// //this.ToughLight1.BackColor = Color.Gray;
// //this.LoosenLight1.BackColor = Color.Gray;
// ////当流程启动时,自动手动按钮可用
// //this.AutoBtn1.Enabled = true;
// //this.ManualBtn1.Enabled = true;
// //设置开始按钮状态
// StopBtn2.Enabled = true;
// }
#endif
}
private void OKBtn_Click(object sender, EventArgs e)
{
var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
ProcessWriteInt(MelsecPLC, "D171", "int", textBox1.Text);
//实际操作使用
ProcessWriteInt(MelsecPLC, "D161", "int", textBox2.Text);
ProcessWriteInt(MelsecPLC, "D163", "int", textBox3.Text);
ProcessWriteInt(MelsecPLC, "D173", "int", textBox4.Text);
ProcessWriteInt(MelsecPLC, "D151", "int", textBox5.Text);
}
public enum ShaftState
{
Idling,//空转状态
Normal,//正常状态
Sliding,//滑丝状态
}
public enum ShaftMachineState
{
Unknown,
Emergency,
Reset,
}
private void uiPanel1_Load(object sender, EventArgs e)
{
}
private void ResettingBtn_Click(object sender, EventArgs e)
{
if (isOpenAuto == true)
{
LogAsync(DateTime.Now, LogLevel.Error, "正在进行自动流程,请勿清空参数");
}
else
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
}
}
private void _FormClosing(object sender, FormClosingEventArgs e)
{
//var MelsecPLC = ProcessA020.DeviceCollection.FirstOrDefault(u => u is PLCBase) as PLCBase;
//ProcessWriteInt(MelsecPLC, "D7", "int", "0");
}
}
}

View File

@ -120,6 +120,9 @@
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>107, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>45</value>
</metadata>

View File

@ -1,699 +0,0 @@

namespace BRS.Process.A020.UI
{
partial class ControlSet
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.uiTitlePanel1 = new Sunny.UI.UITitlePanel();
this.uiPanel2 = new Sunny.UI.UIPanel();
this.btn_down1_2 = new Sunny.UI.UIButton();
this.btn_load1_2 = new Sunny.UI.UIButton();
this.cmb_sizechoose1_2 = new Sunny.UI.UIComboBox();
this.uiPanel4 = new Sunny.UI.UIPanel();
this.uiPanel1 = new Sunny.UI.UIPanel();
this.btn_down1_1 = new Sunny.UI.UIButton();
this.cmb_sizechoose1_1 = new Sunny.UI.UIComboBox();
this.btn_load1_1 = new Sunny.UI.UIButton();
this.uiPanel3 = new Sunny.UI.UIPanel();
this.uiTitlePanel2 = new Sunny.UI.UITitlePanel();
this.uiPanel5 = new Sunny.UI.UIPanel();
this.btn_down2_2 = new Sunny.UI.UIButton();
this.btn_load2_2 = new Sunny.UI.UIButton();
this.cmb_sizechoose2_2 = new Sunny.UI.UIComboBox();
this.uiPanel6 = new Sunny.UI.UIPanel();
this.uiPanel7 = new Sunny.UI.UIPanel();
this.btn_down2_1 = new Sunny.UI.UIButton();
this.btn_load2_1 = new Sunny.UI.UIButton();
this.cmb_sizechoose2_1 = new Sunny.UI.UIComboBox();
this.uiPanel8 = new Sunny.UI.UIPanel();
this.btn_robotset = new Sunny.UI.UIButton();
this.btn_plcset = new Sunny.UI.UIButton();
this.btn_reset = new Sunny.UI.UIButton();
this.btn_auto = new Sunny.UI.UIButton();
this.btn_manual = new Sunny.UI.UIButton();
this.btn_stop = new Sunny.UI.UIButton();
this.btn_pause = new Sunny.UI.UIButton();
this.btn_start = new Sunny.UI.UIButton();
this.uiTableLayoutPanel1 = new Sunny.UI.UITableLayoutPanel();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.uiTitlePanel1.SuspendLayout();
this.uiPanel2.SuspendLayout();
this.uiPanel1.SuspendLayout();
this.uiTitlePanel2.SuspendLayout();
this.uiPanel5.SuspendLayout();
this.uiPanel7.SuspendLayout();
this.uiTableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(112, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.uiTitlePanel1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.uiTitlePanel2);
this.splitContainer1.Size = new System.Drawing.Size(908, 545);
this.splitContainer1.SplitterDistance = 442;
this.splitContainer1.TabIndex = 8;
//
// uiTitlePanel1
//
this.uiTitlePanel1.Controls.Add(this.uiPanel2);
this.uiTitlePanel1.Controls.Add(this.uiPanel1);
this.uiTitlePanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.uiTitlePanel1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiTitlePanel1.Location = new System.Drawing.Point(0, 0);
this.uiTitlePanel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiTitlePanel1.MinimumSize = new System.Drawing.Size(1, 1);
this.uiTitlePanel1.Name = "uiTitlePanel1";
this.uiTitlePanel1.Padding = new System.Windows.Forms.Padding(0, 35, 0, 0);
this.uiTitlePanel1.Radius = 0;
this.uiTitlePanel1.ShowText = false;
this.uiTitlePanel1.Size = new System.Drawing.Size(442, 545);
this.uiTitlePanel1.TabIndex = 7;
this.uiTitlePanel1.Text = "1号硫化机";
this.uiTitlePanel1.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiTitlePanel1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// uiPanel2
//
this.uiPanel2.Controls.Add(this.btn_down1_2);
this.uiPanel2.Controls.Add(this.btn_load1_2);
this.uiPanel2.Controls.Add(this.cmb_sizechoose1_2);
this.uiPanel2.Controls.Add(this.uiPanel4);
this.uiPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.uiPanel2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel2.Location = new System.Drawing.Point(0, 296);
this.uiPanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel2.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel2.Name = "uiPanel2";
this.uiPanel2.Radius = 4;
this.uiPanel2.Size = new System.Drawing.Size(442, 249);
this.uiPanel2.TabIndex = 1;
this.uiPanel2.Text = null;
this.uiPanel2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_down1_2
//
this.btn_down1_2.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_down1_2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_down1_2.Location = new System.Drawing.Point(184, 144);
this.btn_down1_2.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_down1_2.Name = "btn_down1_2";
this.btn_down1_2.Size = new System.Drawing.Size(100, 35);
this.btn_down1_2.TabIndex = 3;
this.btn_down1_2.Text = "下料";
this.btn_down1_2.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_down1_2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.btn_down1_2.Click += new System.EventHandler(this.btn_down1_2_Click);
//
// btn_load1_2
//
this.btn_load1_2.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_load1_2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_load1_2.Location = new System.Drawing.Point(184, 72);
this.btn_load1_2.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_load1_2.Name = "btn_load1_2";
this.btn_load1_2.Size = new System.Drawing.Size(100, 35);
this.btn_load1_2.TabIndex = 2;
this.btn_load1_2.Text = "上料";
this.btn_load1_2.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_load1_2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.btn_load1_2.Click += new System.EventHandler(this.btn_load1_2_Click);
//
// cmb_sizechoose1_2
//
this.cmb_sizechoose1_2.DataSource = null;
this.cmb_sizechoose1_2.Dock = System.Windows.Forms.DockStyle.Top;
this.cmb_sizechoose1_2.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.cmb_sizechoose1_2.FillColor = System.Drawing.Color.White;
this.cmb_sizechoose1_2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cmb_sizechoose1_2.Items.AddRange(new object[] {
"",
"12",
"13",
"14",
"15",
"16",
"17",
"18"});
this.cmb_sizechoose1_2.Location = new System.Drawing.Point(116, 0);
this.cmb_sizechoose1_2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.cmb_sizechoose1_2.MinimumSize = new System.Drawing.Size(63, 0);
this.cmb_sizechoose1_2.Name = "cmb_sizechoose1_2";
this.cmb_sizechoose1_2.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
this.cmb_sizechoose1_2.Size = new System.Drawing.Size(326, 29);
this.cmb_sizechoose1_2.TabIndex = 1;
this.cmb_sizechoose1_2.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.cmb_sizechoose1_2.Watermark = "";
this.cmb_sizechoose1_2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.cmb_sizechoose1_2.SelectedIndexChanged += new System.EventHandler(this.cmb_sizechoose1_2_SelectedIndexChanged);
//
// uiPanel4
//
this.uiPanel4.Dock = System.Windows.Forms.DockStyle.Left;
this.uiPanel4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel4.Location = new System.Drawing.Point(0, 0);
this.uiPanel4.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel4.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel4.Name = "uiPanel4";
this.uiPanel4.Radius = 0;
this.uiPanel4.Size = new System.Drawing.Size(116, 249);
this.uiPanel4.TabIndex = 0;
this.uiPanel4.Text = "2号位";
this.uiPanel4.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel4.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// uiPanel1
//
this.uiPanel1.Controls.Add(this.btn_down1_1);
this.uiPanel1.Controls.Add(this.cmb_sizechoose1_1);
this.uiPanel1.Controls.Add(this.btn_load1_1);
this.uiPanel1.Controls.Add(this.uiPanel3);
this.uiPanel1.Dock = System.Windows.Forms.DockStyle.Top;
this.uiPanel1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel1.Location = new System.Drawing.Point(0, 35);
this.uiPanel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel1.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel1.Name = "uiPanel1";
this.uiPanel1.Size = new System.Drawing.Size(442, 261);
this.uiPanel1.TabIndex = 0;
this.uiPanel1.Text = null;
this.uiPanel1.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_down1_1
//
this.btn_down1_1.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_down1_1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_down1_1.Location = new System.Drawing.Point(184, 148);
this.btn_down1_1.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_down1_1.Name = "btn_down1_1";
this.btn_down1_1.Size = new System.Drawing.Size(100, 35);
this.btn_down1_1.TabIndex = 3;
this.btn_down1_1.Text = "下料";
this.btn_down1_1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_down1_1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.btn_down1_1.Click += new System.EventHandler(this.btn_down1_1_Click);
//
// cmb_sizechoose1_1
//
this.cmb_sizechoose1_1.DataSource = null;
this.cmb_sizechoose1_1.Dock = System.Windows.Forms.DockStyle.Top;
this.cmb_sizechoose1_1.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.cmb_sizechoose1_1.FillColor = System.Drawing.Color.White;
this.cmb_sizechoose1_1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cmb_sizechoose1_1.Items.AddRange(new object[] {
"",
"12",
"13",
"14",
"15",
"16",
"17",
"18"});
this.cmb_sizechoose1_1.Location = new System.Drawing.Point(116, 0);
this.cmb_sizechoose1_1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.cmb_sizechoose1_1.MinimumSize = new System.Drawing.Size(63, 0);
this.cmb_sizechoose1_1.Name = "cmb_sizechoose1_1";
this.cmb_sizechoose1_1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
this.cmb_sizechoose1_1.Size = new System.Drawing.Size(326, 29);
this.cmb_sizechoose1_1.TabIndex = 1;
this.cmb_sizechoose1_1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.cmb_sizechoose1_1.Watermark = "";
this.cmb_sizechoose1_1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.cmb_sizechoose1_1.SelectedIndexChanged += new System.EventHandler(this.cmb_sizechoose1_1_SelectedIndexChanged);
//
// btn_load1_1
//
this.btn_load1_1.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_load1_1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_load1_1.Location = new System.Drawing.Point(184, 76);
this.btn_load1_1.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_load1_1.Name = "btn_load1_1";
this.btn_load1_1.Size = new System.Drawing.Size(100, 35);
this.btn_load1_1.TabIndex = 2;
this.btn_load1_1.Text = "上料";
this.btn_load1_1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_load1_1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.btn_load1_1.Click += new System.EventHandler(this.btn_load1_1_Click);
//
// uiPanel3
//
this.uiPanel3.Dock = System.Windows.Forms.DockStyle.Left;
this.uiPanel3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel3.Location = new System.Drawing.Point(0, 0);
this.uiPanel3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel3.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel3.Name = "uiPanel3";
this.uiPanel3.Size = new System.Drawing.Size(116, 261);
this.uiPanel3.TabIndex = 0;
this.uiPanel3.Text = "1号位";
this.uiPanel3.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel3.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// uiTitlePanel2
//
this.uiTitlePanel2.Controls.Add(this.uiPanel5);
this.uiTitlePanel2.Controls.Add(this.uiPanel7);
this.uiTitlePanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.uiTitlePanel2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiTitlePanel2.Location = new System.Drawing.Point(0, 0);
this.uiTitlePanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiTitlePanel2.MinimumSize = new System.Drawing.Size(1, 1);
this.uiTitlePanel2.Name = "uiTitlePanel2";
this.uiTitlePanel2.Padding = new System.Windows.Forms.Padding(0, 35, 0, 0);
this.uiTitlePanel2.Radius = 0;
this.uiTitlePanel2.ShowText = false;
this.uiTitlePanel2.Size = new System.Drawing.Size(462, 545);
this.uiTitlePanel2.TabIndex = 8;
this.uiTitlePanel2.Text = "2号硫化机";
this.uiTitlePanel2.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiTitlePanel2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// uiPanel5
//
this.uiPanel5.Controls.Add(this.btn_down2_2);
this.uiPanel5.Controls.Add(this.btn_load2_2);
this.uiPanel5.Controls.Add(this.cmb_sizechoose2_2);
this.uiPanel5.Controls.Add(this.uiPanel6);
this.uiPanel5.Dock = System.Windows.Forms.DockStyle.Fill;
this.uiPanel5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel5.Location = new System.Drawing.Point(0, 296);
this.uiPanel5.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel5.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel5.Name = "uiPanel5";
this.uiPanel5.Radius = 0;
this.uiPanel5.Size = new System.Drawing.Size(462, 249);
this.uiPanel5.TabIndex = 1;
this.uiPanel5.Text = null;
this.uiPanel5.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel5.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_down2_2
//
this.btn_down2_2.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_down2_2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_down2_2.Location = new System.Drawing.Point(184, 144);
this.btn_down2_2.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_down2_2.Name = "btn_down2_2";
this.btn_down2_2.Size = new System.Drawing.Size(100, 35);
this.btn_down2_2.TabIndex = 3;
this.btn_down2_2.Text = "下料";
this.btn_down2_2.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_down2_2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_load2_2
//
this.btn_load2_2.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_load2_2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_load2_2.Location = new System.Drawing.Point(184, 72);
this.btn_load2_2.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_load2_2.Name = "btn_load2_2";
this.btn_load2_2.Size = new System.Drawing.Size(100, 35);
this.btn_load2_2.TabIndex = 2;
this.btn_load2_2.Text = "上料";
this.btn_load2_2.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_load2_2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// cmb_sizechoose2_2
//
this.cmb_sizechoose2_2.DataSource = null;
this.cmb_sizechoose2_2.Dock = System.Windows.Forms.DockStyle.Top;
this.cmb_sizechoose2_2.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.cmb_sizechoose2_2.FillColor = System.Drawing.Color.White;
this.cmb_sizechoose2_2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cmb_sizechoose2_2.Items.AddRange(new object[] {
"",
"12",
"13",
"14",
"15",
"16",
"17",
"18"});
this.cmb_sizechoose2_2.Location = new System.Drawing.Point(116, 0);
this.cmb_sizechoose2_2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.cmb_sizechoose2_2.MinimumSize = new System.Drawing.Size(63, 0);
this.cmb_sizechoose2_2.Name = "cmb_sizechoose2_2";
this.cmb_sizechoose2_2.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
this.cmb_sizechoose2_2.Size = new System.Drawing.Size(346, 29);
this.cmb_sizechoose2_2.TabIndex = 1;
this.cmb_sizechoose2_2.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.cmb_sizechoose2_2.Watermark = "";
this.cmb_sizechoose2_2.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.cmb_sizechoose2_2.SelectedIndexChanged += new System.EventHandler(this.cmb_sizechoose2_2_SelectedIndexChanged);
//
// uiPanel6
//
this.uiPanel6.Dock = System.Windows.Forms.DockStyle.Left;
this.uiPanel6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel6.Location = new System.Drawing.Point(0, 0);
this.uiPanel6.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel6.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel6.Name = "uiPanel6";
this.uiPanel6.Radius = 4;
this.uiPanel6.Size = new System.Drawing.Size(116, 249);
this.uiPanel6.TabIndex = 0;
this.uiPanel6.Text = "2号位";
this.uiPanel6.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel6.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// uiPanel7
//
this.uiPanel7.Controls.Add(this.btn_down2_1);
this.uiPanel7.Controls.Add(this.btn_load2_1);
this.uiPanel7.Controls.Add(this.cmb_sizechoose2_1);
this.uiPanel7.Controls.Add(this.uiPanel8);
this.uiPanel7.Dock = System.Windows.Forms.DockStyle.Top;
this.uiPanel7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel7.Location = new System.Drawing.Point(0, 35);
this.uiPanel7.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel7.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel7.Name = "uiPanel7";
this.uiPanel7.Size = new System.Drawing.Size(462, 261);
this.uiPanel7.TabIndex = 0;
this.uiPanel7.Text = null;
this.uiPanel7.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel7.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_down2_1
//
this.btn_down2_1.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_down2_1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_down2_1.Location = new System.Drawing.Point(184, 148);
this.btn_down2_1.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_down2_1.Name = "btn_down2_1";
this.btn_down2_1.Size = new System.Drawing.Size(100, 35);
this.btn_down2_1.TabIndex = 3;
this.btn_down2_1.Text = "下料";
this.btn_down2_1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_down2_1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_load2_1
//
this.btn_load2_1.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_load2_1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_load2_1.Location = new System.Drawing.Point(184, 76);
this.btn_load2_1.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_load2_1.Name = "btn_load2_1";
this.btn_load2_1.Size = new System.Drawing.Size(100, 35);
this.btn_load2_1.TabIndex = 2;
this.btn_load2_1.Text = "上料";
this.btn_load2_1.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_load2_1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// cmb_sizechoose2_1
//
this.cmb_sizechoose2_1.DataSource = null;
this.cmb_sizechoose2_1.Dock = System.Windows.Forms.DockStyle.Top;
this.cmb_sizechoose2_1.DropDownStyle = Sunny.UI.UIDropDownStyle.DropDownList;
this.cmb_sizechoose2_1.FillColor = System.Drawing.Color.White;
this.cmb_sizechoose2_1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cmb_sizechoose2_1.Items.AddRange(new object[] {
"",
"12",
"13",
"14",
"15",
"16",
"17",
"18"});
this.cmb_sizechoose2_1.Location = new System.Drawing.Point(116, 0);
this.cmb_sizechoose2_1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.cmb_sizechoose2_1.MinimumSize = new System.Drawing.Size(63, 0);
this.cmb_sizechoose2_1.Name = "cmb_sizechoose2_1";
this.cmb_sizechoose2_1.Padding = new System.Windows.Forms.Padding(0, 0, 30, 2);
this.cmb_sizechoose2_1.Size = new System.Drawing.Size(346, 29);
this.cmb_sizechoose2_1.TabIndex = 1;
this.cmb_sizechoose2_1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
this.cmb_sizechoose2_1.Watermark = "";
this.cmb_sizechoose2_1.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.cmb_sizechoose2_1.SelectedIndexChanged += new System.EventHandler(this.cmb_sizechoose2_1_SelectedIndexChanged);
//
// uiPanel8
//
this.uiPanel8.Dock = System.Windows.Forms.DockStyle.Left;
this.uiPanel8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.uiPanel8.Location = new System.Drawing.Point(0, 0);
this.uiPanel8.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.uiPanel8.MinimumSize = new System.Drawing.Size(1, 1);
this.uiPanel8.Name = "uiPanel8";
this.uiPanel8.Size = new System.Drawing.Size(116, 261);
this.uiPanel8.TabIndex = 0;
this.uiPanel8.Text = "1号位";
this.uiPanel8.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.uiPanel8.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_robotset
//
this.btn_robotset.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_robotset.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_robotset.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_robotset.Location = new System.Drawing.Point(3, 489);
this.btn_robotset.Margin = new System.Windows.Forms.Padding(3, 13, 3, 13);
this.btn_robotset.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_robotset.Name = "btn_robotset";
this.btn_robotset.Size = new System.Drawing.Size(106, 43);
this.btn_robotset.TabIndex = 7;
this.btn_robotset.Text = "ROBOT设置";
this.btn_robotset.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_robotset.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_plcset
//
this.btn_plcset.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_plcset.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_plcset.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_plcset.Location = new System.Drawing.Point(3, 421);
this.btn_plcset.Margin = new System.Windows.Forms.Padding(3, 13, 3, 13);
this.btn_plcset.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_plcset.Name = "btn_plcset";
this.btn_plcset.Size = new System.Drawing.Size(106, 42);
this.btn_plcset.TabIndex = 6;
this.btn_plcset.Text = "PLC设置";
this.btn_plcset.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_plcset.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_reset
//
this.btn_reset.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_reset.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_reset.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_reset.Location = new System.Drawing.Point(3, 353);
this.btn_reset.Margin = new System.Windows.Forms.Padding(3, 13, 3, 13);
this.btn_reset.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_reset.Name = "btn_reset";
this.btn_reset.Size = new System.Drawing.Size(106, 42);
this.btn_reset.TabIndex = 5;
this.btn_reset.Text = "复位";
this.btn_reset.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_reset.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_auto
//
this.btn_auto.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_auto.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_auto.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_auto.Location = new System.Drawing.Point(3, 285);
this.btn_auto.Margin = new System.Windows.Forms.Padding(3, 13, 3, 13);
this.btn_auto.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_auto.Name = "btn_auto";
this.btn_auto.Size = new System.Drawing.Size(106, 42);
this.btn_auto.TabIndex = 4;
this.btn_auto.Text = "自动";
this.btn_auto.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_auto.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.btn_auto.Click += new System.EventHandler(this.btn_auto_Click);
//
// btn_manual
//
this.btn_manual.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_manual.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_manual.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_manual.Location = new System.Drawing.Point(3, 217);
this.btn_manual.Margin = new System.Windows.Forms.Padding(3, 13, 3, 13);
this.btn_manual.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_manual.Name = "btn_manual";
this.btn_manual.Size = new System.Drawing.Size(106, 42);
this.btn_manual.TabIndex = 3;
this.btn_manual.Text = "手动";
this.btn_manual.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_manual.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.btn_manual.Click += new System.EventHandler(this.btn_manual_Click);
//
// btn_stop
//
this.btn_stop.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_stop.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_stop.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_stop.Location = new System.Drawing.Point(3, 149);
this.btn_stop.Margin = new System.Windows.Forms.Padding(3, 13, 3, 13);
this.btn_stop.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_stop.Name = "btn_stop";
this.btn_stop.Size = new System.Drawing.Size(106, 42);
this.btn_stop.TabIndex = 2;
this.btn_stop.Text = "停止";
this.btn_stop.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_stop.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.btn_stop.Click += new System.EventHandler(this.btn_stop_Click);
//
// btn_pause
//
this.btn_pause.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_pause.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_pause.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_pause.Location = new System.Drawing.Point(3, 81);
this.btn_pause.Margin = new System.Windows.Forms.Padding(3, 13, 3, 13);
this.btn_pause.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_pause.Name = "btn_pause";
this.btn_pause.Radius = 1;
this.btn_pause.Size = new System.Drawing.Size(106, 42);
this.btn_pause.TabIndex = 1;
this.btn_pause.Text = "暂停";
this.btn_pause.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_pause.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
//
// btn_start
//
this.btn_start.Cursor = System.Windows.Forms.Cursors.Hand;
this.btn_start.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_start.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_start.Location = new System.Drawing.Point(3, 13);
this.btn_start.Margin = new System.Windows.Forms.Padding(3, 13, 3, 13);
this.btn_start.MinimumSize = new System.Drawing.Size(1, 1);
this.btn_start.Name = "btn_start";
this.btn_start.Size = new System.Drawing.Size(106, 42);
this.btn_start.TabIndex = 0;
this.btn_start.Text = "启动";
this.btn_start.TipsFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_start.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
this.btn_start.Click += new System.EventHandler(this.btn_start_Click);
this.btn_start.MouseDown += new System.Windows.Forms.MouseEventHandler(this.btn_start_MouseDown);
this.btn_start.MouseUp += new System.Windows.Forms.MouseEventHandler(this.btn_start_MouseUp);
//
// uiTableLayoutPanel1
//
this.uiTableLayoutPanel1.ColumnCount = 1;
this.uiTableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.uiTableLayoutPanel1.Controls.Add(this.btn_start, 0, 0);
this.uiTableLayoutPanel1.Controls.Add(this.btn_pause, 0, 1);
this.uiTableLayoutPanel1.Controls.Add(this.btn_stop, 0, 2);
this.uiTableLayoutPanel1.Controls.Add(this.btn_manual, 0, 3);
this.uiTableLayoutPanel1.Controls.Add(this.btn_auto, 0, 4);
this.uiTableLayoutPanel1.Controls.Add(this.btn_reset, 0, 5);
this.uiTableLayoutPanel1.Controls.Add(this.btn_plcset, 0, 6);
this.uiTableLayoutPanel1.Controls.Add(this.btn_robotset, 0, 7);
this.uiTableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Left;
this.uiTableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.uiTableLayoutPanel1.Name = "uiTableLayoutPanel1";
this.uiTableLayoutPanel1.RowCount = 8;
this.uiTableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.uiTableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.uiTableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.uiTableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.uiTableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.uiTableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.uiTableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.uiTableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.uiTableLayoutPanel1.Size = new System.Drawing.Size(112, 545);
this.uiTableLayoutPanel1.TabIndex = 5;
this.uiTableLayoutPanel1.TagString = null;
this.uiTableLayoutPanel1.Paint += new System.Windows.Forms.PaintEventHandler(this.uiTableLayoutPanel1_Paint);
//
// ControlSet
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1020, 545);
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.uiTableLayoutPanel1);
this.Name = "ControlSet";
this.Text = "控制设置";
this.Load += new System.EventHandler(this.ControlSet_Load);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.uiTitlePanel1.ResumeLayout(false);
this.uiPanel2.ResumeLayout(false);
this.uiPanel1.ResumeLayout(false);
this.uiTitlePanel2.ResumeLayout(false);
this.uiPanel5.ResumeLayout(false);
this.uiPanel7.ResumeLayout(false);
this.uiTableLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private Sunny.UI.UIButton btn_robotset;
private Sunny.UI.UIButton btn_plcset;
private Sunny.UI.UIButton btn_reset;
private Sunny.UI.UIButton btn_auto;
private Sunny.UI.UIButton btn_manual;
private Sunny.UI.UIButton btn_stop;
private Sunny.UI.UIButton btn_pause;
private Sunny.UI.UIButton btn_start;
private Sunny.UI.UITableLayoutPanel uiTableLayoutPanel1;
private Sunny.UI.UITitlePanel uiTitlePanel1;
private Sunny.UI.UIPanel uiPanel2;
private Sunny.UI.UIButton btn_down1_2;
private Sunny.UI.UIButton btn_load1_2;
private Sunny.UI.UIComboBox cmb_sizechoose1_2;
private Sunny.UI.UIPanel uiPanel4;
private Sunny.UI.UIPanel uiPanel1;
private Sunny.UI.UIButton btn_down1_1;
private Sunny.UI.UIComboBox cmb_sizechoose1_1;
private Sunny.UI.UIButton btn_load1_1;
private Sunny.UI.UIPanel uiPanel3;
private Sunny.UI.UITitlePanel uiTitlePanel2;
private Sunny.UI.UIPanel uiPanel5;
private Sunny.UI.UIButton btn_down2_2;
private Sunny.UI.UIButton btn_load2_2;
private Sunny.UI.UIComboBox cmb_sizechoose2_2;
private Sunny.UI.UIPanel uiPanel6;
private Sunny.UI.UIPanel uiPanel7;
private Sunny.UI.UIButton btn_down2_1;
private Sunny.UI.UIButton btn_load2_1;
private Sunny.UI.UIComboBox cmb_sizechoose2_1;
private Sunny.UI.UIPanel uiPanel8;
}
}

View File

@ -1,353 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using BRS.Common.PubSub;
using BRS.UI.Model.Winform;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Threading;
using static BRS.Common.Model.Helper.EnumHelper;
using static BRS.Process.A020.A020Process;
using BRS.Common.Base;
namespace BRS.Process.A020.UI
{
[MenuNode("ControlSet", "控制菜单", 3, "View2", true)]
//public partial class TriggerCountFrm : MenuFormBase
public partial class ControlSet : MenuFormBase
{
private bool is_btn_manual { get; set; } = false;
A020Process ProcessA020 => Process as A020Process;
A020Config Config => Process?.IConfig as A020Config;
private bool isSingleStepOperating = false;
public ControlSet()
{
InitializeComponent();
}
private void btn_start_Click(object sender, EventArgs e)
{
//流程正转启动按钮
}
private void ControlSet_Load(object sender, EventArgs e)
{
//cmb_sizechoose1_1.SelectedIndex = 0;
//cmb_sizechoose1_2.SelectedIndex = 0;
//cmb_sizechoose2_1.SelectedIndex = 0;
//cmb_sizechoose2_2.SelectedIndex = 0;
//如果尺寸选择为空,则设置该对应设备无法进行上下料
btn_load1_1.Enabled = false;
btn_down1_1.Enabled = false;
btn_load1_2.Enabled = false;
btn_down1_2.Enabled = false;
btn_load2_1.Enabled = false;
btn_down2_1.Enabled = false;
btn_load2_2.Enabled = false;
btn_down2_2.Enabled = false;
////初始化字典界面设置
//MachineInfo temp;
//temp.isReady = false;
//temp.location = -1;
//temp.tireSize = -1;
//MachineInfos.Add(0, temp); // 使用字典将顺序排好
//MachineInfos.Add(1, temp);
//MachineInfos.Add(2, temp);
//MachineInfos.Add(3, temp);
}
public void SetMachineInfo(int num,int location)
{
MachineInfo temp;
temp.isReady = false;
temp.location = -1;
temp.tyreSize = -1;
//根据选择设置按钮可用性
switch (num)
{
case 0: //如果选择为空,则对应区域内上下料按钮禁止使用
temp.isReady = false;
temp.location = location;
temp.tyreSize = 0;
break;
case 12:
temp.isReady = true;
temp.location = location;
temp.tyreSize = 12;
break;
case 13:
temp.isReady = true;
temp.location = location;
temp.tyreSize = 13;
break;
case 14:
temp.isReady = true;
temp.location = location;
temp.tyreSize = 14;
break;
case 15:
temp.isReady = true;
temp.location = location;
temp.tyreSize = 15;
break;
case 16:
temp.isReady = true;
temp.location = location;
temp.tyreSize = 16;
break;
case 17:
temp.isReady = true;
temp.location = location;
temp.tyreSize = 17;
break;
case 18:
temp.isReady = true;
temp.location = location;
temp.tyreSize = 18;
break;
default:
break;
}
//bool location_exist = false;
//for (int i = 0; i < MachineInfos.Count(); i++) //遍历查找对应的location进行修改
//{
// if (MachineInfos[i].location == location)
// {
// MachineInfos[i] = temp;
// location_exist = true;
// break; //找到之后停止查询
// }
//}
//if (!location_exist) // 如果不存在则添加
//{
// MachineInfos.Add(temp);
//}
//使用字典存放界面的设置
if (!MachineInfos.ContainsKey(location)) // 如果该位置不存在,则添加进字典
MachineInfos.Add(location, temp);
else
MachineInfos[location] = temp;
}
private void cmb_sizechoose1_1_SelectedIndexChanged(object sender, EventArgs e)
{
Sunny.UI.UIComboBox comboBox = (Sunny.UI.UIComboBox)sender;
string value = (string)comboBox.SelectedItem;
int num;
int.TryParse(value,out num);
if (0 < num)
{
btn_load1_1.Enabled = true;
btn_down1_1.Enabled = true;
}
else
{
btn_load1_1.Enabled = false;
btn_down1_1.Enabled = false;
}
SetMachineInfo(num, 0);
}
private void cmb_sizechoose2_1_SelectedIndexChanged(object sender, EventArgs e)
{
Sunny.UI.UIComboBox comboBox = (Sunny.UI.UIComboBox)sender;
string value = (string)comboBox.SelectedItem;
int num;
int.TryParse(value, out num);
if (0 < num)
{
btn_load2_1.Enabled = true;
btn_down2_1.Enabled = true;
}
else
{
btn_load2_1.Enabled = false;
btn_down2_1.Enabled = false;
}
SetMachineInfo(num, 2);
}
private void cmb_sizechoose1_2_SelectedIndexChanged(object sender, EventArgs e)
{
Sunny.UI.UIComboBox comboBox = (Sunny.UI.UIComboBox)sender;
string value = (string)comboBox.SelectedItem;
int num;
int.TryParse(value, out num);
if (0 < num)
{
btn_load1_2.Enabled = true;
btn_down1_2.Enabled = true;
}
else
{
btn_load1_2.Enabled = false;
btn_down1_2.Enabled = false;
}
SetMachineInfo(num, 1);
}
private void cmb_sizechoose2_2_SelectedIndexChanged(object sender, EventArgs e)
{
Sunny.UI.UIComboBox comboBox = (Sunny.UI.UIComboBox)sender;
string value = (string)comboBox.SelectedItem;
int num;
int.TryParse(value, out num);
if (0 < num)
{
btn_load2_2.Enabled = true;
btn_down2_2.Enabled = true;
}
else
{
btn_load2_2.Enabled = false;
btn_down2_2.Enabled = false;
}
SetMachineInfo(num, 3);
}
private void btn_stop_Click(object sender, EventArgs e)
{
//var NbtRobot = A020Process.DeviceCollection.FirstOrDefault(u => u is RobotBase) as RobotBase;
//NbtRobot.power_off();
}
private void btn_load1_1_Click(object sender, EventArgs e)
{
if(!ProcessA020.IsSingleStepOperating)
{
ProcessA020.IsSingleStepOperating = true;
Dictionary<int, MachineInfo> machineInfos = MachineInfos;//拿到界面上的设置参数
int Machine1Entrance1TyreSize = 0;
foreach (var item in machineInfos)
{
if (item.Value.location == 0)
Machine1Entrance1TyreSize = item.Value.tyreSize;
}
//ProcessA020.Machine1Entrance1Up(Machine1Entrance1TyreSize);
}
else
LogAsync(DateTime.Now, LogLevel.Error, $"有未完成的操作。");
}
private void btn_down1_1_Click(object sender, EventArgs e)
{
if (!ProcessA020.IsSingleStepOperating)
{
ProcessA020.IsSingleStepOperating = true;
Dictionary<int, MachineInfo> machineInfos = MachineInfos;//拿到界面上的设置参数
int Machine1Entrance1TyreSize = 0;
foreach (var item in machineInfos)
{
if (item.Value.location == 0)
Machine1Entrance1TyreSize = item.Value.tyreSize;
}
//ProcessA020.Machine1Entrance1Down(Machine1Entrance1TyreSize);
}
else
LogAsync(DateTime.Now, LogLevel.Error, $"有未完成的操作。");
}
private void btn_down1_2_Click(object sender, EventArgs e)
{
if (!ProcessA020.IsSingleStepOperating)
{
ProcessA020.IsSingleStepOperating = true;
Dictionary<int, MachineInfo> machineInfos = MachineInfos;//拿到界面上的设置参数
int Machine1Entrance2TyreSize = 0;
foreach (var item in machineInfos)
{
if (item.Value.location == 1)
Machine1Entrance2TyreSize = item.Value.tyreSize;
}
//ProcessA020.Machine1Entrance2Down(Machine1Entrance2TyreSize);
}
else
LogAsync(DateTime.Now, LogLevel.Error, $"有未完成的操作。");
}
private void btn_load1_2_Click(object sender, EventArgs e)
{
if (!ProcessA020.IsSingleStepOperating)
{
ProcessA020.IsSingleStepOperating = true;
Dictionary<int, MachineInfo> machineInfos = MachineInfos;//拿到界面上的设置参数
int Machine1Entrance2TyreSize = 0;
foreach (var item in machineInfos)
{
if (item.Value.location == 1)
Machine1Entrance2TyreSize = item.Value.tyreSize;
}
//ProcessA020.Machine1Entrance2Up(Machine1Entrance2TyreSize);
}
else
LogAsync(DateTime.Now, LogLevel.Error, $"有未完成的操作。");
}
private void btn_manual_Click(object sender, EventArgs e)
{
btn_manual.FillColor = Color.FromArgb(41, 255, 156);
btn_manual.FillHoverColor = Color.FromArgb(41, 255, 156);
btn_auto.FillColor = Color.FromArgb(80, 160, 255);
btn_auto.FillHoverColor = Color.FromArgb(80, 160, 255);
ProcessA020.Machine1SwitchAutoManual(false);
}
private void btn_auto_Click(object sender, EventArgs e)
{
btn_auto.FillColor = Color.FromArgb(41, 255, 156);
btn_auto.FillHoverColor = Color.FromArgb(41, 255, 156);
btn_manual.FillColor = Color.FromArgb(80, 160, 255);
btn_manual.FillHoverColor = Color.FromArgb(80, 160, 255);
ProcessA020.Machine1SwitchAutoManual(true);
}
private void uiTableLayoutPanel1_Paint(object sender, PaintEventArgs e)
{
}
private void btn_start_MouseDown(object sender, MouseEventArgs e)
{
}
private void btn_start_MouseUp(object sender, MouseEventArgs e)
{
}
}
}

View File

@ -183,7 +183,7 @@ namespace BRS.Process.A020.UI
else
{
Process_A020.BatchNO = textBoxBatchNO.Text;
Process_A020.StartProcess();
Process_A020.StartProcess(null, null, null);
PubSubCenter.GetInstance().Publish(PubSubCenterMessageType.ClearData.ToString(), null, null);
btnProcessStart.Text = "流程停止";
btnProcessStart.ImageIndex = 3;

View File

@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAy
CwAAAk1TRnQBSQFMAgEBBAEAAQgBBQEIAQUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CwAAAk1TRnQBSQFMAgEBBAEAARABBQEQAQUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -7,10 +7,17 @@
<package id="Microsoft.Bcl.AsyncInterfaces" version="1.1.0" targetFramework="net472" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" />
<package id="OpenCvSharp4" version="4.6.0.20220608" targetFramework="net472" />
<package id="OpenCvSharp4.Extensions" version="4.5.5.20211231" targetFramework="net461" />
<package id="OpenCvSharp4.runtime.win" version="4.5.5.20211231" targetFramework="net461" />
<package id="OpenCvSharp4.Windows" version="4.5.5.20211231" targetFramework="net461" />
<package id="STTech.BytesIO.Core" version="2.9.3" targetFramework="net461" />
<package id="STTech.BytesIO.Tcp" version="2.9.3" targetFramework="net461" />
<package id="STTech.CodePlus" version="1.4.0" targetFramework="net461" />
<package id="SunnyUI" version="3.3.1" targetFramework="net461" />
<package id="SunnyUI.Common" version="3.3.1" targetFramework="net461" />
<package id="System.Buffers" version="4.5.1" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.7.1" targetFramework="net472" />
<package id="System.Drawing.Common" version="5.0.3" targetFramework="net461" />
<package id="System.Memory" version="4.5.5" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net461" />
<package id="System.Runtime.CompilerServices.Unsafe" version="7.0.0-preview.2.22152.2" targetFramework="net472" requireReinstallation="true" />

View File

@ -167,6 +167,10 @@
<Project>{741f6491-57c7-479a-b391-09bba9fba9dc}</Project>
<Name>BRS.UI.Model.Winform</Name>
</ProjectReference>
<ProjectReference Include="..\XKRS.Device.TCPSever\XKRS.Device.TCPSever.csproj">
<Project>{91739E90-6A8E-433D-B244-5325F8848064}</Project>
<Name>XKRS.Device.TCPSever</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Helper\" />

View File

@ -9,8 +9,7 @@ using System.Drawing.Design;
using System.Linq;
using System.Runtime.CompilerServices;
using static BRS.Common.Model.Helper.EnumHelper;
using XKRS.Device.TCPSever;
namespace BRS.Process
{
@ -40,13 +39,19 @@ namespace BRS.Process
public List<IInitialConfig> PLCConfigCollection { get; set; } = new List<IInitialConfig>();
[Category("设备配置")]
[Description("机械臂配置")]
[DisplayName("机械臂配置")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(InitialConfigCollectionEditor<RobotInitialConfigBase>), typeof(UITypeEditor))]
public List<IInitialConfig> RobotConfigCollection { get; set; } = new List<IInitialConfig>();
//[Category("设备配置")]
//[Description("机械臂配置")]
//[DisplayName("机械臂配置")]
//[TypeConverter(typeof(CollectionCountConvert))]
//[Editor(typeof(InitialConfigCollectionEditor<RobotInitialConfigBase>), typeof(UITypeEditor))]
//public List<IInitialConfig> RobotConfigCollection { get; set; } = new List<IInitialConfig>();
[Category("设备配置")]
[Description("川崎机械臂配置")]
[DisplayName("川崎机械臂配置")]
[TypeConverter(typeof(CollectionCountConvert))]
[Editor(typeof(InitialConfigCollectionEditor<KawasakiTCPSeverRobotConfig>), typeof(UITypeEditor))]
public List<IInitialConfig> KawasakiRobotConfigCollection { get; set; } = new List<IInitialConfig>();
@ -233,7 +238,7 @@ namespace BRS.Process
configs.AddRange(CameraConfigCollection);
configs.AddRange(PLCConfigCollection);
configs.AddRange(DeviceConfigs);
configs.AddRange(RobotConfigCollection);
configs.AddRange(KawasakiRobotConfigCollection);
return configs;

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

View File

@ -224,21 +224,7 @@ namespace BRS.UI.Device.Winform
private void button1_Click(object sender, EventArgs e)
{
int d=Robot.IConfig.RobotUpMovePoints.Count();
Robot.IConfig.RobotUpMovePoints.ForEach(points =>
{
//if
StrRobotPoint strRobotPoint3;//= ClassChangeStruct(points);
strRobotPoint3.A = points.A;
strRobotPoint3.B = points.B;
strRobotPoint3.C = points.C;
strRobotPoint3.X = points.X;
strRobotPoint3.Y = points.Y;
strRobotPoint3.Z = points.Z;
int speed = Decimal.ToInt32(numericUpDown1.Value);
Robot.Move(strRobotPoint3, 100, true);
// table[camera.Id] = points.X;
});
}
}

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->

View File

@ -14,13 +14,16 @@ using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using System.Runtime.InteropServices;
namespace BRS.UI.Main
{
public partial class MainFrm : Form
{
IProcess _process = null;
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.Process processB = new System.Diagnostics.Process();
System.Diagnostics.Process processC = new System.Diagnostics.Process();
public MainFrm()
{
@ -390,10 +393,12 @@ namespace BRS.UI.Main
LoadProcess();
LoadLayoutFromXML(m_deserializeDeviceRunFrm);
LoadProcess(false);
}
private List<string> LoadProcessCode()
{
var systemProcessCodes = ProcessFactory.GetProcessCodes();

View File

@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADm
CgAAAk1TRnQBSQFMAgEBAgEAAegBAgHoAQIBGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CgAAAk1TRnQBSQFMAgEBAgEAAfgBAgH4AQIBGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABYAMAARgDAAEBAQABCAYAAQkYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -182,7 +182,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD4
CAAAAk1TRnQBSQFMAwEBAAHoAQIB6AECARgBAAEYAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
CAAAAk1TRnQBSQFMAwEBAAH4AQIB+AECARgBAAEYAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AWADAAEYAwABAQEAAQgGAAEJGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm

View File

@ -4,7 +4,8 @@ using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("磁环分选系统")]
//[assembly: AssemblyTitle("磁环分选系统")]
[assembly: AssemblyTitle("大扭矩拧紧轴操作系统")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

View File

@ -188,12 +188,11 @@ namespace XKRS.Device.MelsecPLC
int repeatTime = 3;
Stopwatch sw = new Stopwatch();
//sw.Start();
do
{
try
{
var result = melsecMc.Write(address, writeValue);
if (result.IsSuccess)
{
@ -325,7 +324,7 @@ namespace XKRS.Device.MelsecPLC
{
try
{
melsecMc.ConnectClose();
// 断开连接
// melsecMc.RemoteStop();
// OmronUDPNet.Stop();

View File

@ -26,9 +26,9 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<Optimize>false</Optimize>
<OutputPath>..\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@ -0,0 +1,30 @@
using BRS.Common.Base;
using BRS.Common.Model;
using BRS.Common.Model.Helper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XKRS.Device.TCPSever
{
[Device("KawasakiRobot", "川崎Robot", EnumHelper.DeviceAttributeType.OperationConfig)]
public class KawasakiRobotOperationConfig : OperationConfigBase
{
}
[Device("KawasakiRobot", "川崎Robot", EnumHelper.DeviceAttributeType.InitialConfig)]
public class KawasakiTCPSeverRobotConfig : TCPSeverInitialConfigBase
{
[Category("机械臂项目")]
[Description("机械臂起始位置")]
[DisplayName("机械臂起始位置")]
[TypeConverter(typeof(ComplexObjectConvert))]
[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
public RobotPoint RobotInitPosition { get; set; } = new RobotPoint();
}
}

View File

@ -0,0 +1,58 @@
using BRS.Common.Base;
using BRS.Common.Model.Helper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static BRS.Common.Model.Helper.EnumHelper;
namespace XKRS.Device.TCPSever
{
[Device("KawasakiRobot", "川崎Robot", DeviceAttributeType.Device)]
public class KawasakiTCPSeverRobotDriver:TCPSeverBase
{
public KawasakiTCPSeverRobotConfig IIConfig
{
get => IConfig as KawasakiTCPSeverRobotConfig;
//return InitialConfig as KawasakiTCPSeverRobotConfig;
}
#region IDeviceBace
protected override void Init()
{
base.Init();
}
protected override void Start()
{
base.Start();
}
protected override void Pause()
{
// listener.Stop();
}
protected override void Stop()
{
base.Stop();
}
protected override void Resume()
{
}
#endregion
}
}

View File

@ -0,0 +1,202 @@

namespace XKRS.Device.TCPSever
{
partial class TCPSeverForm
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.Sendbutton = new System.Windows.Forms.Button();
this.sendMsg = new System.Windows.Forms.RichTextBox();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.btn_set_run_mode = new System.Windows.Forms.Button();
this.btn_servo_on = new System.Windows.Forms.Button();
this.btn_power_off = new System.Windows.Forms.Button();
this.btn_connection_status = new System.Windows.Forms.Button();
this.btn_set_teach_mode = new System.Windows.Forms.Button();
this.btn_get_ID = new System.Windows.Forms.Button();
this.btn_get_servo_state = new System.Windows.Forms.Button();
this.btn_clear_servo_err = new System.Windows.Forms.Button();
this.btn_set_servo_state = new System.Windows.Forms.Button();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.Controls.Add(this.Sendbutton);
this.panel1.Controls.Add(this.sendMsg);
this.panel1.Controls.Add(this.richTextBox1);
this.panel1.Controls.Add(this.btn_set_run_mode);
this.panel1.Controls.Add(this.btn_servo_on);
this.panel1.Controls.Add(this.btn_power_off);
this.panel1.Controls.Add(this.btn_connection_status);
this.panel1.Controls.Add(this.btn_set_teach_mode);
this.panel1.Controls.Add(this.btn_get_ID);
this.panel1.Controls.Add(this.btn_get_servo_state);
this.panel1.Controls.Add(this.btn_clear_servo_err);
this.panel1.Controls.Add(this.btn_set_servo_state);
this.panel1.Location = new System.Drawing.Point(12, 12);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(836, 468);
this.panel1.TabIndex = 0;
//
// Sendbutton
//
this.Sendbutton.Location = new System.Drawing.Point(668, 403);
this.Sendbutton.Name = "Sendbutton";
this.Sendbutton.Size = new System.Drawing.Size(75, 40);
this.Sendbutton.TabIndex = 183;
this.Sendbutton.Text = "发送";
this.Sendbutton.UseVisualStyleBackColor = true;
this.Sendbutton.Click += new System.EventHandler(this.Sendbutton_Click);
//
// sendMsg
//
this.sendMsg.Location = new System.Drawing.Point(32, 374);
this.sendMsg.Name = "sendMsg";
this.sendMsg.Size = new System.Drawing.Size(605, 82);
this.sendMsg.TabIndex = 182;
this.sendMsg.Text = "";
//
// richTextBox1
//
this.richTextBox1.Location = new System.Drawing.Point(32, 73);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(708, 280);
this.richTextBox1.TabIndex = 2;
this.richTextBox1.Text = "";
//
// btn_set_run_mode
//
this.btn_set_run_mode.Location = new System.Drawing.Point(720, 15);
this.btn_set_run_mode.Name = "btn_set_run_mode";
this.btn_set_run_mode.Size = new System.Drawing.Size(72, 40);
this.btn_set_run_mode.TabIndex = 8;
this.btn_set_run_mode.Text = "运行模式";
this.btn_set_run_mode.UseVisualStyleBackColor = true;
//
// btn_servo_on
//
this.btn_servo_on.Location = new System.Drawing.Point(135, 15);
this.btn_servo_on.Name = "btn_servo_on";
this.btn_servo_on.Size = new System.Drawing.Size(72, 40);
this.btn_servo_on.TabIndex = 7;
this.btn_servo_on.Text = "伺服上电";
this.btn_servo_on.UseVisualStyleBackColor = true;
//
// btn_power_off
//
this.btn_power_off.Location = new System.Drawing.Point(213, 15);
this.btn_power_off.Name = "btn_power_off";
this.btn_power_off.Size = new System.Drawing.Size(70, 40);
this.btn_power_off.TabIndex = 6;
this.btn_power_off.Text = "伺服下电";
this.btn_power_off.UseVisualStyleBackColor = true;
//
// btn_connection_status
//
this.btn_connection_status.Location = new System.Drawing.Point(289, 15);
this.btn_connection_status.Name = "btn_connection_status";
this.btn_connection_status.Size = new System.Drawing.Size(80, 40);
this.btn_connection_status.TabIndex = 5;
this.btn_connection_status.Text = "连接状态";
this.btn_connection_status.UseVisualStyleBackColor = true;
//
// btn_set_teach_mode
//
this.btn_set_teach_mode.Location = new System.Drawing.Point(375, 15);
this.btn_set_teach_mode.Name = "btn_set_teach_mode";
this.btn_set_teach_mode.Size = new System.Drawing.Size(62, 40);
this.btn_set_teach_mode.TabIndex = 4;
this.btn_set_teach_mode.Text = "示教模式";
this.btn_set_teach_mode.UseVisualStyleBackColor = true;
//
// btn_get_ID
//
this.btn_get_ID.Location = new System.Drawing.Point(443, 15);
this.btn_get_ID.Name = "btn_get_ID";
this.btn_get_ID.Size = new System.Drawing.Size(62, 40);
this.btn_get_ID.TabIndex = 3;
this.btn_get_ID.Text = "获取IO";
this.btn_get_ID.UseVisualStyleBackColor = true;
//
// btn_get_servo_state
//
this.btn_get_servo_state.Location = new System.Drawing.Point(511, 15);
this.btn_get_servo_state.Name = "btn_get_servo_state";
this.btn_get_servo_state.Size = new System.Drawing.Size(98, 40);
this.btn_get_servo_state.TabIndex = 2;
this.btn_get_servo_state.Text = "获取伺服状态";
this.btn_get_servo_state.UseVisualStyleBackColor = true;
//
// btn_clear_servo_err
//
this.btn_clear_servo_err.Location = new System.Drawing.Point(615, 15);
this.btn_clear_servo_err.Name = "btn_clear_servo_err";
this.btn_clear_servo_err.Size = new System.Drawing.Size(99, 40);
this.btn_clear_servo_err.TabIndex = 1;
this.btn_clear_servo_err.Text = "清理伺服错误";
this.btn_clear_servo_err.UseVisualStyleBackColor = true;
//
// btn_set_servo_state
//
this.btn_set_servo_state.Location = new System.Drawing.Point(37, 15);
this.btn_set_servo_state.Name = "btn_set_servo_state";
this.btn_set_servo_state.Size = new System.Drawing.Size(80, 40);
this.btn_set_servo_state.TabIndex = 0;
this.btn_set_servo_state.Text = "设置伺服";
this.btn_set_servo_state.UseVisualStyleBackColor = true;
//
// TCPSeverForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.panel1);
this.Name = "TCPSeverForm";
this.Size = new System.Drawing.Size(892, 553);
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button Sendbutton;
private System.Windows.Forms.RichTextBox sendMsg;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.Button btn_set_run_mode;
private System.Windows.Forms.Button btn_servo_on;
private System.Windows.Forms.Button btn_power_off;
private System.Windows.Forms.Button btn_connection_status;
private System.Windows.Forms.Button btn_set_teach_mode;
private System.Windows.Forms.Button btn_get_ID;
private System.Windows.Forms.Button btn_get_servo_state;
private System.Windows.Forms.Button btn_clear_servo_err;
private System.Windows.Forms.Button btn_set_servo_state;
}
}

View File

@ -0,0 +1,84 @@
using BRS.Common.Interface;
using BRS.Common.Model.Helper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace XKRS.Device.TCPSever
{
[Device("KawasakiRobot", "川崎Robot", EnumHelper.DeviceAttributeType.RunCtrl)]
public partial class TCPSeverForm : UserControl, IRunCtrl
{
#region
private float x;//定义当前窗体的宽度
private float y;//定义当前窗体的高度
private void Form1_Resize(object sender, EventArgs e)
{
float newx = (this.Width) / x;
float newy = (this.Height) / y;
setControls(newx, newy, this);
}
private void setTag(Control cons)
{
foreach (Control con in cons.Controls)
{
con.Tag = con.Width + ";" + con.Height + ";" + con.Left + ";" + con.Top + ";" + con.Font.Size;
if (con.Controls.Count > 0)
{
setTag(con);
}
}
}
private void setControls(float newx, float newy, Control cons)
{
try
{
//遍历窗体中的控件,重新设置控件的值
foreach (Control con in cons.Controls)
{
//获取控件的Tag属性值并分割后存储字符串数组
if (con.Tag != null)
{
string[] mytag = con.Tag.ToString().Split(new char[] { ';' });
//根据窗体缩放的比例确定控件的值
con.Width = Convert.ToInt32(System.Convert.ToSingle(mytag[0]) * newx);//宽度
con.Height = Convert.ToInt32(System.Convert.ToSingle(mytag[1]) * newy);//高度
con.Left = Convert.ToInt32(System.Convert.ToSingle(mytag[2]) * newx);//左边距
con.Top = Convert.ToInt32(System.Convert.ToSingle(mytag[3]) * newy);//顶边距
Single currentSize = System.Convert.ToSingle(mytag[4]) * newy;//字体大小
con.Font = new Font(con.Font.Name, currentSize, con.Font.Style, con.Font.Unit);
if (con.Controls.Count > 0)
{
setControls(newx, newy, con);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
#endregion
public TCPSeverForm(KawasakiTCPSeverRobotDriver kawasakiRobotDriver)
{
InitializeComponent();
}
public IDevice Device { get; set; }
public KawasakiTCPSeverRobotDriver KawasakiTCPSeverRobotDriver
{
get { return Device as KawasakiTCPSeverRobotDriver; }
}
private void Sendbutton_Click(object sender, EventArgs e)
{
}
}
}

View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{91739E90-6A8E-433D-B244-5325F8848064}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>XKRS.Device.TCPSever</RootNamespace>
<AssemblyName>XKRS.Device.TCPSever</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\Release\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Compile Include="KawasakiTCPSeverRobotConfig.cs" />
<Compile Include="KawasakiTCPSeverRobotDriver.cs" />
<Compile Include="TCPSeverForm.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="TCPSeverForm.Designer.cs">
<DependentUpon>TCPSeverForm.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<Reference Include="STTech.BytesIO.Core, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.BytesIO.Core.2.9.3\lib\net45\STTech.BytesIO.Core.dll</HintPath>
</Reference>
<Reference Include="STTech.BytesIO.Tcp, Version=2.9.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.BytesIO.Tcp.2.9.3\lib\net45\STTech.BytesIO.Tcp.dll</HintPath>
</Reference>
<Reference Include="STTech.CodePlus, Version=1.4.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\STTech.CodePlus.1.4.0\lib\net45\STTech.CodePlus.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BRS.Common.Device\BRS.Common.Device.csproj">
<Project>{987308DD-8BAA-463A-94E2-77D62E01A5BF}</Project>
<Name>BRS.Common.Device</Name>
</ProjectReference>
<ProjectReference Include="..\BRS.Common.Model\BRS.Common.Model.csproj">
<Project>{1A3CBFE7-3F78-42C3-95C5-10360450DBEA}</Project>
<Name>BRS.Common.Model</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="TCPSeverForm.resx">
<DependentUpon>TCPSeverForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="STTech.BytesIO.Core" version="2.9.3" targetFramework="net472" />
<package id="STTech.BytesIO.Tcp" version="2.9.3" targetFramework="net472" />
<package id="STTech.CodePlus" version="1.4.0" targetFramework="net472" />
</packages>