using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using UserShareNet; namespace demo_CSharp01 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e) { short temp; temp =Convert.ToInt16(ComboBox1.SelectedIndex + 1); UserShare.Set_INT(Convert.ToUInt16(21), temp); } private void OFF_04_Click(object sender, EventArgs e) { // set False to Modbus address 1 UserShare.Set_BOOL(Convert.ToUInt16(4), 0); } private void OFF_03_Click(object sender, EventArgs e) { // set False to Modbus address 1 UserShare.Set_BOOL(Convert.ToUInt16(3), 0); } private void OFF_02_Click(object sender, EventArgs e) { // set False to Modbus address 1 UserShare.Set_BOOL(Convert.ToUInt16(2), 0); } private void OFF_01_Click(object sender, EventArgs e) { // set False to Modbus address 1 UserShare.Set_BOOL(Convert.ToUInt16(1), 0); } private void ON_04_Click(object sender, EventArgs e) { // set true to Modbus address 2 UserShare.Set_BOOL(Convert.ToUInt16(4), 1); } private void ON_03_Click(object sender, EventArgs e) { // set true to Modbus address 2 UserShare.Set_BOOL(Convert.ToUInt16(3), 1); } private void ON_02_Click(object sender, EventArgs e) { // set true to Modbus address 2 UserShare.Set_BOOL(Convert.ToUInt16(2), 1); } private void ON_01_Click(object sender, EventArgs e) { // set true to Modbus address 1 UserShare.Set_BOOL(Convert.ToUInt16(1), 1); } private void Form1_Load(object sender, EventArgs e) { int current_mode=0; // enable Timer1 timer1.Interval = 250; // 250 ms timer1.Enabled = true; // read current mode at Modbus address 21 UserShare.Set_DINT(Convert.ToUInt16(21), current_mode); // set initial Mode as 1 (Index = mode - 1) if (current_mode >= 1 && current_mode <= 3) // make sure the mode is between 1 and 3 ComboBox1.SelectedIndex = current_mode - 1; } private void timer1_Tick(object sender, EventArgs e) { // scan DI and DO every Timer1 interval ScanDI(); ScanDO(); } private void ScanDO() { byte iValue; // get boolean at Modbus No.=1 UserShare.Get_BOOL(Convert.ToUInt16(1), out iValue); if (iValue == 1) PanelDO1.BackColor = Color.LightGreen; else PanelDO1.BackColor = Color.DarkGreen; // get boolean at Modbus No.=2 UserShare.Get_BOOL(Convert.ToUInt16(2), out iValue); if (iValue == 1) PanelDO2.BackColor = Color.LightGreen; else PanelDO2.BackColor = Color.DarkGreen; UserShare.Get_BOOL(Convert.ToUInt16(3), out iValue); if (iValue == 1) PanelDO3.BackColor = Color.LightGreen; else PanelDO3.BackColor = Color.DarkGreen; UserShare.Get_BOOL(Convert.ToUInt16(4), out iValue); if (iValue == 1) PanelDO4.BackColor = Color.LightGreen; else PanelDO4.BackColor = Color.DarkGreen; UserShare.Get_BOOL(Convert.ToUInt16(5), out iValue); if (iValue == 1) PanelDO5.BackColor = Color.LightGreen; else PanelDO5.BackColor = Color.DarkGreen; UserShare.Get_BOOL(Convert.ToUInt16(6), out iValue); if (iValue == 1) PanelDO6.BackColor = Color.LightGreen; else PanelDO6.BackColor = Color.DarkGreen; UserShare.Get_BOOL(Convert.ToUInt16(7), out iValue); if (iValue == 1) PanelDO7.BackColor = Color.LightGreen; else PanelDO7.BackColor = Color.DarkGreen; UserShare.Get_BOOL(Convert.ToUInt16(8), out iValue); if (iValue == 1) PanelDO8.BackColor = Color.LightGreen; else PanelDO8.BackColor = Color.DarkGreen; } private void ScanDI() { byte iValue; // get boolean at Modbus No.=9 UserShare.Get_BOOL(Convert.ToUInt16(9), out iValue); if (iValue == 1) PanelDI1.BackColor = Color.Red; else PanelDI1.BackColor = Color.DarkRed; // get boolean value at Modbus No.=10 UserShare.Get_BOOL(Convert.ToUInt16(10), out iValue); if (iValue == 1) PanelDI2.BackColor = Color.Red; else PanelDI2.BackColor = Color.DarkRed; UserShare.Get_BOOL(Convert.ToUInt16(11), out iValue); if (iValue == 1) PanelDI3.BackColor = Color.Red; else PanelDI3.BackColor = Color.DarkRed; UserShare.Get_BOOL(Convert.ToUInt16(12), out iValue); if (iValue == 1) PanelDI4.BackColor = Color.Red; else PanelDI4.BackColor = Color.DarkRed; UserShare.Get_BOOL(Convert.ToUInt16(13), out iValue); if (iValue == 1) PanelDI5.BackColor = Color.Red; else PanelDI5.BackColor = Color.DarkRed; UserShare.Get_BOOL(Convert.ToUInt16(14), out iValue); if (iValue == 1) PanelDI6.BackColor = Color.Red; else PanelDI6.BackColor = Color.DarkRed; UserShare.Get_BOOL(Convert.ToUInt16(15), out iValue); if (iValue == 1) PanelDI7.BackColor = Color.Red; else PanelDI7.BackColor = Color.DarkRed; UserShare.Get_BOOL(Convert.ToUInt16(16), out iValue); if (iValue == 1) PanelDI8.BackColor = Color.Red; else PanelDI8.BackColor = Color.DarkRed; } } }