CleCommonSystems 0.0.83
See the version list below for details.
dotnet add package CleCommonSystems --version 0.0.83
NuGet\Install-Package CleCommonSystems -Version 0.0.83
<PackageReference Include="CleCommonSystems" Version="0.0.83" />
paket add CleCommonSystems --version 0.0.83
#r "nuget: CleCommonSystems, 0.0.83"
// Install CleCommonSystems as a Cake Addin #addin nuget:?package=CleCommonSystems&version=0.0.83 // Install CleCommonSystems as a Cake Tool #tool nuget:?package=CleCommonSystems&version=0.0.83
CLE Common Systems
Common Systems for wpf
CleCommonSystems is an licensed library for CLE inc. Usage with no permission could lead an legal punishment.
Common Controls such as CarInfoControl, ConnectionStatusControl, GlManager, LoggingBox, ModeControlButton, PlcStatusBar, ResultPictureControl, and RobotPoseTable are supported. Setting Page Control such as CommonSetting, LoggingSetting, are OffsetSetting are supported.
About
- Common systems are supported.
- Controls for main program and setting manager are supported.
- Saves time for creating new projects.
- Provides similar templates for the projects.
Installation
Install the package using nuget.
dotnet add package CleCommonSystems --version [version]
Use
First, import MaterialDesign Library.
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
Add Resource Dictionaries.
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="DeepPurple" SecondaryColor="LightGreen" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesign2.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/CleCommonSystems;component/Styles/ControlBrushResource.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Controls
The library includes user control for common uses.
User Controls
- CarInfoControl
- ConnectionStatusControl
- GlManager
- LoggingBox
- LoggingGrid
- ModeControlButton
- PlcStatusBar
- ProductionRecordControl
- ResultPictureControl
- RobotPoseTable
- IntegerOnlyTextBox/FloatOnlyTextBox
- PathBrowseControl
Setting Manager
Tester
CarInfoControl
Indicates car info using ComboBoxes and TextBoxs.
User can set ComboBoxs Name List and ItemSource
by using string or calling methods.
CarInfoControl control = new CarInfoControl();
control.CmbSourcesList = "CarType,0,1,2,,ObjectId,1,2,3,4";
control.SetCmbSource("CarType", new List<string>() { "0" });
User can set TextBox Name List.
control.TbNamesList = "SeqNum,BodyNum";
User also can change align style of the control. (Use AlignStyle
property.)
ConnectionStatusControl
shows connection status of PLC, Robots, Cameras.
String or the type of Enum is used as the list of object.
Enum ConnectionMonitorType { PLC, Hyundai, Camera }
ConnectionStatusControl control = new ConnectionStatusControl();
control.ConnectionsEnumType = typeof(ConnectionMonitorType);
control.ConnectionsTypeList = "PLC,Hyundai,Camera";
User can update connection status.
control.UpdateConnectionStatus("PLC", true);
control.UpdateConnectionStatus(ConnectionMonitorType.PLC, true);
GlManager
Renders point cloud.
Automatically binds event for KeyDown
, MouseDown
, MouseMove
, MouseWheel
, Render
.
Maximize or Minimize the GlControl when double-click.
SceneCount
property adjusts the number of GlControls.
LoggingBox
RichTextBox for logging.
LoggingGrid (Some Bugs Exist)
DataGrid for logging.
ModeControlButton
Provides the set of buttons to control program mode; Auto, Manual, and Set.
Chage current mode.
ModeControlButton control = new ModeControlButton();
control.Mode = ProgramMode.Auto;
Event Binding is neccessary for the project.
PlcStatusBar
Shows PLC status.
String or the type of Enum is used as the list of status.
Enum PlcStatus {Update, Start, End, Reset}
PlcStatusBar control = new PlcStatusBar();
control.PlcStatusEnumType = typeof(PlcStatus);
control.PlcStatusList = "Update,Start,End,Reset";
User can update current plc status, blink livebit, and reset status.
control.UpdatePlcStatus("Update");
control.UpdatePlcStatus(PlcStatus.Update);
control.BlinkLiveBit();
control.SetAllPlcStatusOff();
ProductionRecordControl
Indicates production record using simple bar chart and grid.
Set column name(header) list for grid.
ProductionRecordControl control = new ProductionRecordControl();
control.columnNamesList = "Id,CarType,SeqNum,BodyNum,Time";
Adding production result automatically updates all components.
class ProductionResult { Id, CarType, ObjectId, SeqNum, BodyNum, Time = DateTime.Now }
control.AddProductionResult(new ProductionResult("1", "0", "1", "0002", "DL 1234"), true);
ResultPictureControl
Prints image for result; None, Ok, Ng, Error, and Pass. (Additional image or resources are not needed.)
ResultPictureControl control = ResultPictureControl();
control.Result = InspectionResult.Ok;
RobotPoseTable
Provides compact view for various RobotPoses.
Set Robot Pose variable names.
RobotPoseTable control = new RobotPoseTable();
control.PoseVariableNames = "Install,Scan,Calculate";
Update Robot Pose for specific variable name. This automatically adds new row for not existing variable name.
control.UpdatePoseValue("Install", new RobotPose());
IntegerOnlyTextBox/FloatOnlyTextBox
Only accepts Int
/Double
as valid value for text.
Unit
property sets the unit as suffix of the control.Title
property sets the title of the control.IsValid
property indicates the validation of input text.
PathBrowseControl
Browse path of a directory or a file.
Mode
property can be BrowseMode.Folder
or BrowseMode.File
.
Setting Manager
Common Setting Control
PropertyGrid is included. User can choose the alignment of ComboBox and Property Grid; Vertical and Horizontal.
General Setting Control
User can change display mode to dark mode and engine api path.
Offset Setting Control
Set offset. User can change offset values of given car info.
Logging Setting Control
Set Logging. User can change Minimun logging level, Logging channels, logging database settings, task scheduler settings, and production record reset time, etc.
Tester
Robot Tester
Robot tester control to test robot communication.
PLC Tester
PLC tester control to test PLC communication.
Logging
Provides logging to file, RichTextBox, DataGrid, and Database(MariaDB).
License
Copyright (c) CLE inc. Permission Required To Use
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0-windows7.0 is compatible. |
-
net8.0-windows7.0
- MaterialDesignThemes (>= 5.1.0)
- MySqlConnector (>= 2.4.0)
- OpenTK (>= 4.8.2)
- OpenTK.GLWpfControl (>= 4.3.3)
- PropertyTools.Wpf (>= 3.1.0)
- System.Drawing.Common (>= 9.0.0)
- TaskScheduler (>= 2.11.0)
- YamlDotNet (>= 16.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.