益旺電氣
工控愛好者
級別: 略有小成
![]() |
信捷PLC的性價比相對來說還算是可以,現在眾多的順控程序很多設備都在使用,我使用也有數年之久,相對來說,XC系列的PLC,到最后的版本,也基本上該有功能也基本上有了,相對來說,通過不斷的升級,也還算穩定。 自去年開始,因業務需要,開始使用各種XD系列的PLC,但真的是很坑爹呀,那編程軟件可能是我目前用過所有的PLC中最垃圾的一個,也不知道他們公司的哪位大神,使用那樣的擴展模式,加一個擴展得后面加一個10000,真的是數著數字都煩,原來好好的,在加一個模塊后加100就可以了,這樣倒好,要給打號碼管都太長了,更別提輸這數字了, 那軟件呢,注釋當中一大堆用不著的,也在當中,有時要找一個IO真的挺難找的,不知道用哪種PLC,里面可用的就顯示,這樣不讓人家好搞多了,還有就是那插入一行,與刪除一行,得非常小心,因為你稍不注意,乖乖,它就得轉圈圈了,死機了,沒保存,不好意思,它自動備份后寫的那部分程序,你得重來了。 還有就是發現那軟件有一個問題,在時實性較高的東西,有時并不會從上往下的順序來的,有時得人為的增加延時等待。希望信捷的研發中心人員,能夠重視這些問題,我們是很希望國產的很好,也很愿意支持國貨,但得不影響自己工程的前提下呀。在某些方面,多學習一下國際上知名品牌的長處,對自己的產品還是很有益處的。 我現在基本上,實時性高一點的地方還是使用國際知名品牌。一些順控制要求不高的地方使用一下信捷,我很支持國貨,但是目前為止,能用XC就盡量用XC,XD目前為止還是很不穩定。什么時候穩定時再用吧。希望信捷公司人員看到后,能知道怎么提升。讓支持你們的人不會太失望。 |
|
---|---|---|
本帖最近評分記錄:
|
bifujian110
羊月薪5000,打算用30萬建一個窩,老虎不允許,說私自建就
級別: 工控俠客
![]() |
信捷用起來感覺真的不方便, 剛好公司最近買了幾臺設備是用于信捷PLC的, 目前要開發上位機, 感覺信捷的寄存器什么的太多了, 寫了個地址分析的函數超長啊 public override ushort AnalyzeAddress(string strAddress) { Address address = Address.GetAddress(strAddress); if (address == null) return 0; switch (address.Type.ToLower()) { case "m": if (address.Number <= 20480) return address.Number; break; case "x": if (address.Number <= 77) return (ushort)(address.Number + 20480); else if (address.Number <= 10000 && address.Number <= 10077) return (ushort)(address.Number + 20736); else if (address.Number <= 10100 && address.Number <= 10177) return (ushort)(address.Number + 20800); else if (address.Number <= 10200 && address.Number <= 10277) return (ushort)(address.Number + 20864); break; case "y": if (address.Number <= 77) return (ushort)(address.Number + 24576); else if (address.Number <= 10000 && address.Number <= 10077) return (ushort)(address.Number + 24832); else if (address.Number <= 10100 && address.Number <= 10177) return (ushort)(address.Number + 24896); else if (address.Number <= 10200 && address.Number <= 10277) return (ushort)(address.Number + 24960); break; case "s": if (address.Number < 8000) return (ushort)(address.Number + 28672); break; case "sm": if (address.Number < 4096) return (ushort)(address.Number + 36864); break; case "t": if (address.Number < 4096) return (ushort)(address.Number + 40960); break; case "c": if (address.Number < 4096) return (ushort)(address.Number + 45056); break; case "et": if (address.Number < 40) return (ushort)(address.Number + 49152); break; case "sem": if (address.Number < 128) return (ushort)(address.Number + 49280); break; case "hm": if (address.Number < 6144) return (ushort)(address.Number + 49408); break; case "hs": if (address.Number < 1000) return (ushort)(address.Number + 55552); break; case "ht": if (address.Number < 1024) return (ushort)(address.Number + 57600); break; case "hc": if (address.Number < 1024) return (ushort)(address.Number + 58624); break; case "hsc": if (address.Number < 40) return (ushort)(address.Number + 59648); break; case "d": if (address.Number < 20480) return (ushort)(address.Number + 28672); break; case "id": if (address.Number < 100) return (ushort)(address.Number + 20480); else if (address.Number <= 10000 && address.Number <= 10099) return (ushort)(address.Number + 20736); else if (address.Number <= 10100 && address.Number <= 10199) return (ushort)(address.Number + 20836); else if (address.Number <= 10200 && address.Number <= 10299) return (ushort)(address.Number + 20936); break; case "qd": if (address.Number < 100) return (ushort)(address.Number + 24576); else if (address.Number <= 10000 && address.Number <= 10099) return (ushort)(address.Number + 24832); else if (address.Number <= 10100 && address.Number <= 10199) return (ushort)(address.Number + 24932); else if (address.Number <= 10200 && address.Number <= 10299) return (ushort)(address.Number + 25032); break; case "sd": if (address.Number < 4096) return (ushort)(address.Number + 28672); break; case "td": if (address.Number < 4096) return (ushort)(address.Number + 32768); break; case "cd": if (address.Number < 4096) return (ushort)(address.Number + 36864); break; case "etd": if (address.Number < 40) return (ushort)(address.Number + 40960); break; case "hd": if (address.Number < 6144) return (ushort)(address.Number + 41088); break; case "hsd": if (address.Number < 1024) return (ushort)(address.Number + 47232); break; case "htd": if (address.Number < 1024) return (ushort)(address.Number + 48256); break; case "hcd": if (address.Number < 1024) return (ushort)(address.Number + 49280); break; case "hscd": if (address.Number < 40) return (ushort)(address.Number + 50304); break; case "fd": if (address.Number < 8192) return (ushort)(address.Number + 50368); break; case "sfd": if (address.Number < 6000) return (ushort)(address.Number + 58560); break; case "fs": if (address.Number < 48) return (ushort)(address.Number + 62656); break; default: break; } return ushort.MaxValue; } |
---|---|
本帖最近評分記錄: |