김치균 수석님 코드와 동기화2
This commit is contained in:
@@ -65,8 +65,8 @@ namespace DigitalIndicator
|
|||||||
dev.DataBits = 8; // 데이터 비트
|
dev.DataBits = 8; // 데이터 비트
|
||||||
dev.Parity = System.IO.Ports.Parity.None;
|
dev.Parity = System.IO.Ports.Parity.None;
|
||||||
dev.StopBits = System.IO.Ports.StopBits.One;
|
dev.StopBits = System.IO.Ports.StopBits.One;
|
||||||
dev.ReadTimeout = 2000;
|
dev.ReadTimeout = 1500;
|
||||||
dev.WriteTimeout = 2000;
|
dev.WriteTimeout = 1500;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -81,10 +81,6 @@ namespace DigitalIndicator
|
|||||||
// Modbus 마스터 생성
|
// Modbus 마스터 생성
|
||||||
modbus = ModbusSerialMaster.CreateRtu(dev);
|
modbus = ModbusSerialMaster.CreateRtu(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void timer1_Tick(object sender, EventArgs e)
|
private void timer1_Tick(object sender, EventArgs e)
|
||||||
|
|||||||
@@ -52,6 +52,13 @@ namespace vmsnet
|
|||||||
return new ushort[] { hValue, lValue };
|
return new ushort[] { hValue, lValue };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UInt16[] splitI32(Int32 value)
|
||||||
|
{
|
||||||
|
var hValue = (UInt16)(value >> 16);
|
||||||
|
var lValue = (UInt16)(value & 0xFFFF);
|
||||||
|
return new ushort[] { hValue, lValue };
|
||||||
|
}
|
||||||
|
|
||||||
public bool WriteValue(UInt16[] values)
|
public bool WriteValue(UInt16[] values)
|
||||||
{
|
{
|
||||||
if (IsOpen == false)
|
if (IsOpen == false)
|
||||||
@@ -64,6 +71,7 @@ namespace vmsnet
|
|||||||
ErrorMessage = "모드버스가 초기화 되지 않았습니다";
|
ErrorMessage = "모드버스가 초기화 되지 않았습니다";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
master.WriteMultipleRegisters(this.SlaveID, 0, values);
|
master.WriteMultipleRegisters(this.SlaveID, 0, values);
|
||||||
@@ -76,6 +84,5 @@ namespace vmsnet
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1477,23 +1477,6 @@ namespace vmsnet.HMI
|
|||||||
String MaxKA = (grp._amp * 10f).ToString("#0.00");
|
String MaxKA = (grp._amp * 10f).ToString("#0.00");
|
||||||
|
|
||||||
//Console.WriteLine($"{grp.이름} : {MaxKA} {grp._ampunit}");
|
//Console.WriteLine($"{grp.이름} : {MaxKA} {grp._ampunit}");
|
||||||
//if (grp.이름 == "EL2500E") MaxKA = "0.01";
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************************/
|
|
||||||
/* 작성자: 이재웅, 작성일: 2024-11-19, 작성내용: 8개 전해조의 합산 전류량[KA] Modbus 전송 부분 */
|
|
||||||
/**************************************************************************************/
|
|
||||||
|
|
||||||
//using (var client = new JdModbus("COM3", new RtuConfigure() { BaudRate = 115200 }))
|
|
||||||
//{
|
|
||||||
// client.Connect();
|
|
||||||
|
|
||||||
// ushort[] grpKA = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // 전력량 배열 (예시)
|
|
||||||
// byte slaveaddr = 3;
|
|
||||||
// client.WriteHoldingRegisters(RelayControl.mKA, grpKA, slaveaddr);
|
|
||||||
//}
|
|
||||||
|
|
||||||
/**************************************************************************************/
|
|
||||||
|
|
||||||
Fontsize = g.MeasureString(MaxKA, FONT_KA);
|
Fontsize = g.MeasureString(MaxKA, FONT_KA);
|
||||||
SizeF FontSizeu = g.MeasureString(Kaunit, FONT_KU);
|
SizeF FontSizeu = g.MeasureString(Kaunit, FONT_KU);
|
||||||
@@ -1716,14 +1699,18 @@ namespace vmsnet.HMI
|
|||||||
var 열번호 = grp.열번호;
|
var 열번호 = grp.열번호;
|
||||||
var 줄번호 = grp.줄번호;
|
var 줄번호 = grp.줄번호;
|
||||||
|
|
||||||
|
//전체화면이 아닌경우라면 지정된 그룹만 표시한다
|
||||||
if (FullScreen == false)
|
if (FullScreen == false)
|
||||||
{
|
{
|
||||||
if (ShowIndex < 0 || ShowIndex > this.GROUPS.GetUpperBound(0)) visible = false;
|
if (ShowIndex < 0 || ShowIndex > this.GROUPS.GetUpperBound(0)) visible = false; //인덱스오류체크
|
||||||
else visible = (idx == ShowIndex);
|
else visible = (idx == ShowIndex);
|
||||||
열번호 = 0;
|
열번호 = 0;
|
||||||
줄번호 = 0;
|
줄번호 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//마우스를 올린경우 추가정보 표시
|
||||||
if (grp.Showinfo) infogrp = grp;
|
if (grp.Showinfo) infogrp = grp;
|
||||||
//else
|
//else
|
||||||
//{
|
//{
|
||||||
@@ -1733,7 +1720,18 @@ namespace vmsnet.HMI
|
|||||||
idx += 1;
|
idx += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (infogrp != null) DrawGroup(g, infogrp, new Point(0, 0), new SizeF(WINDOW.ITEMWIDTH, WINDOW.ITEMHEIGHT), WindowRect, infogrp.열번호, infogrp.줄번호, false, true);
|
if (infogrp != null)
|
||||||
|
{
|
||||||
|
var colnum = infogrp.열번호;
|
||||||
|
var rownum = infogrp.줄번호;
|
||||||
|
if (FullScreen == false)
|
||||||
|
{
|
||||||
|
colnum = 0;
|
||||||
|
rownum = 0;
|
||||||
|
}
|
||||||
|
DrawGroup(g, infogrp, new Point(0, 0), new SizeF(WINDOW.ITEMWIDTH, WINDOW.ITEMHEIGHT), WindowRect, colnum, rownum, false, true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//end group
|
//end group
|
||||||
//}
|
//}
|
||||||
@@ -1928,6 +1926,9 @@ namespace vmsnet.HMI
|
|||||||
private int Check_GroupHeader(MouseEventArgs e, Boolean resetshowinfo = false)
|
private int Check_GroupHeader(MouseEventArgs e, Boolean resetshowinfo = false)
|
||||||
{
|
{
|
||||||
if (this.GROUPS == null) return -1;
|
if (this.GROUPS == null) return -1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < this.GROUPS.Length; i++)
|
for (int i = 0; i < this.GROUPS.Length; i++)
|
||||||
{
|
{
|
||||||
RectangleF rect = this.GROUPS[i].Rect_Header;
|
RectangleF rect = this.GROUPS[i].Rect_Header;
|
||||||
@@ -1936,7 +1937,16 @@ namespace vmsnet.HMI
|
|||||||
//현재위치가 해당 Rectagle 안이라면 속해있다.
|
//현재위치가 해당 Rectagle 안이라면 속해있다.
|
||||||
if (e.X > rect.X && e.X < rect.X + rect.Width)
|
if (e.X > rect.X && e.X < rect.X + rect.Width)
|
||||||
{
|
{
|
||||||
if (e.Y > rect.Y && e.Y < rect.Y + rect.Height) return i;
|
if (e.Y > rect.Y && e.Y < rect.Y + rect.Height)
|
||||||
|
{
|
||||||
|
//전체화면이 아닌경우에는 선택된 그룹번호를 반환
|
||||||
|
if (this.FullScreen == false)
|
||||||
|
{
|
||||||
|
if (this.ShowIndex < 0 || this.ShowIndex >= this.GroupCount) return -1;
|
||||||
|
else return this.ShowIndex;
|
||||||
|
}
|
||||||
|
else return i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -1022,7 +1022,7 @@ namespace vmsnet
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void button3_Click(object sender, EventArgs e)
|
private void button3_Click(object sender, EventArgs e)
|
||||||
{
|
{ // KA indicator 테스트
|
||||||
var valuebuffer = new ushort[20];
|
var valuebuffer = new ushort[20];
|
||||||
valuebuffer[0] = Convert.ToUInt16(txtValue.Text);
|
valuebuffer[0] = Convert.ToUInt16(txtValue.Text);
|
||||||
for (int i = 1; i < valuebuffer.Length; i++) valuebuffer[i] = 0;
|
for (int i = 1; i < valuebuffer.Length; i++) valuebuffer[i] = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user