123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
-
- namespace Ips.Cfq.SetFreqBySerialPort.Cli
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- if (args.Length == 0) return;
- List<SetFreqItem> setFreqItems = new List<SetFreqItem>();
- for (int i = 0; i < args.Length; i += 2)
- {
- string chAddr = args[i];
- var addrItems = chAddr.Split('-');
- string addr = addrItems[0];
- int.TryParse(addrItems[1], out int chNum);
- long.TryParse(args[i + 1], out long freqPoint);
- setFreqItems.Add(new SetFreqItem(addr, chNum, freqPoint));
- }
- if (setFreqItems.Count == 0) return;
- var devList = setFreqItems.GroupBy(m => m.Addr);
- foreach (var devItem in devList)
- {
- string errMsg = "";
- using (SerialPortDevice spd = new SerialPortDevice(devItem.Key))
- {
- if (!spd.Open())
- {
- errMsg = "打开串口失败!";
- }
- else
- {
- var bpq = new CH4BPQ(spd);
- bpq.SetFreqs(devItem.OrderBy(m => m.ChNum).Select(m => m.FreqPoint * 1e-6).ToArray(), ref errMsg);
- }
- }
- if (!string.IsNullOrWhiteSpace(errMsg))
- {
- Console.Error.WriteLine($"设置变频器【{devItem.Key}】失败,【{errMsg}】");
- }
- }
- }
- }
- }
|