Thanks ! pác ! em sẽ tiếp tục ngâm cứu thêm !
Thông báo
Collapse
No announcement yet.
1 Project Wincc mẫu cho các bạn
Collapse
X
-
Hi Pac !Nguyên văn bởi hac_am2003 Xem bài viếtHì, đã gọi là gợi ý thì chỉ có tính chất gợi í thôi. Cái project này mình làm trên quan điểm chia sẻ các thủ thuật nên có tính mở rộng, ai cũng có thể xem cách mình edit nó ntn? Còn khi viết chương trình yêu cầu tính bảo mật, thì ngay cả bạn có quyền Admin đi nữa thì cũng không thể mở cái WinCC Explorer của mình ra được đâu. Điều này có nghĩa là tùy từng kỹ xảo của kỹ sư thiết kế í mà.
Gợi ý cho bạn trình tự vận hành khi chúng ta đưa project cho khách hàng nhé :
khởi động PC -> auto start runtime luôn -> thao tác, điều khiển (tất cả các phím tắt bị vô hiệu hóa,vô hiệu hóa task managerment, chạy full screen và dùng hàm SetWindowPos để làm cho cái runtime của mình luôn ở vị trị top - hàm này bạn tra trên google nhé) -> khi ấn nút exit , hiện hộp thoại tương tác , nếu yes thì tự động tắt PC đi thôi.
Cách này có thể áp dụng cho công nhân vận hành mà không lo mấy ông sửa chương trình lung tung, vì ko thể thoát runtime dc, thoát là tắt máy tính luôn. Còn khi kỹ sư thiết kế hệ thống tới, muốn thoát runtime và mở wincc explorer thì phải có mẹo riêng của từng kỹ sư chứ.
Việc vô hiệu hóa các phím tắt trong windown , cũng như khi khởi động PC -> auto start runtime luôn , em đã thực hiện được. Nhưng còn thao tác khi ấn nút exit , hiện hộp thoại tương tác , nếu yes thì tự động tắt PC em chưa tìm ra . (Hiện tại em chỉ tìm thấy cách khi ấn Exit xuất hiện hộp thoại tương tác , xác nhận thì Close & Exit winCC) . Anh chỉ giúp em thao tác : ấn nút exit , hiện hộp thoại tương tác , nếu yes thì tự động tắt PC đi
.
Cám ơn pác !|
Comment
-
bạn đã làm được thế thì tốt quá rùi con j nữa. (Hiện tại em chỉ tìm thấy cách khi ấn Exit xuất hiện hộp thoại tương tác , xác nhận thì Close & Exit winCC)Nguyên văn bởi Manhho86 Xem bài viếtHi Pac !
Việc vô hiệu hóa các phím tắt trong windown , cũng như khi khởi động PC -> auto start runtime luôn , em đã thực hiện được. Nhưng còn thao tác khi ấn nút exit , hiện hộp thoại tương tác , nếu yes thì tự động tắt PC em chưa tìm ra . (Hiện tại em chỉ tìm thấy cách khi ấn Exit xuất hiện hộp thoại tương tác , xác nhận thì Close & Exit winCC) . Anh chỉ giúp em thao tác : ấn nút exit , hiện hộp thoại tương tác , nếu yes thì tự động tắt PC đi
.
Cám ơn pác !
đó bạn làm được thế là ok, chỉ cần thay câu lệnh trong phần đó = câu lệnh sau :
DMExitWinCCEx (DM_SDMODE_POWEROFF);
Comment
-
Cám ơn pác đã chỉ giáo !Nguyên văn bởi hac_am2003 Xem bài viếtbạn đã làm được thế thì tốt quá rùi con j nữa. (Hiện tại em chỉ tìm thấy cách khi ấn Exit xuất hiện hộp thoại tương tác , xác nhận thì Close & Exit winCC)
đó bạn làm được thế là ok, chỉ cần thay câu lệnh trong phần đó = câu lệnh sau :
DMExitWinCCEx (DM_SDMODE_POWEROFF);
|
Comment
-
Em có vấn đề cần hỏi pác !Nguyên văn bởi hac_am2003 Xem bài viếtbạn đã làm được thế thì tốt quá rùi con j nữa. (Hiện tại em chỉ tìm thấy cách khi ấn Exit xuất hiện hộp thoại tương tác , xác nhận thì Close & Exit winCC)
đó bạn làm được thế là ok, chỉ cần thay câu lệnh trong phần đó = câu lệnh sau :
DMExitWinCCEx (DM_SDMODE_POWEROFF);
Thứ nhất câu lệnh DMExitWinCCEx (DM_SDMODE_POWEROFF) là câu lệnh dùng trong ngôn ngữ C. Nhưng để tạo ra hộp thoại tương tác như Project của pác (nút Exit) thì phải dùng VB ( như pác đã viết)
Vậy thì cho em hỏi là câu lệnh DMExitWinCCEx (DM_SDMODE_POWEROFF) sẽ tương đương với câu lệnh nào trong VB ( Ví dụ như để thoát Runtime thì ta dùng HMIRuntime.Stop , còn muốn thoát Runtime mà tắt ngay PC thì sẽ dùng lệnh j hả anh ? )|
Comment
-
hộp thoại tương tác cũng có thể viêt = C hoặc VB.Nguyên văn bởi Manhho86 Xem bài viếtEm có vấn đề cần hỏi pác !
Thứ nhất câu lệnh DMExitWinCCEx (DM_SDMODE_POWEROFF) là câu lệnh dùng trong ngôn ngữ C. Nhưng để tạo ra hộp thoại tương tác như Project của pác (nút Exit) thì phải dùng VB ( như pác đã viết)
Vậy thì cho em hỏi là câu lệnh DMExitWinCCEx (DM_SDMODE_POWEROFF) sẽ tương đương với câu lệnh nào trong VB ( Ví dụ như để thoát Runtime thì ta dùng HMIRuntime.Stop , còn muốn thoát Runtime mà tắt ngay PC thì sẽ dùng lệnh j hả anh ? )
Ví dụ thì mình viết VB. Và trong hầu hết các project thì mình kết hợp cả 2 loại VB và C để có tính đa dạng, biến hóa trong ứng dụng mà. Câu lệnh tương ứng trong VB thì mình chưa tìm hiểu. Bạn vẫn có thể shut down PC với câu lệnh C này mà nếu bạn cho Action này xảy ra khi điều kiện ấn Yes xảy ra. Khi ấn Yes thì bạn cho 1 tag = 6. Khi ta =6 thì trigger cho Action shut down PC.
Comment
-
Em có lên mạng Search được đoạn code Shutdown máy tính bằng VB6 , nhưng khi COPY vào thì báo lỗi cú pháp tùm lumNguyên văn bởi hac_am2003 Xem bài viếthộp thoại tương tác cũng có thể viêt = C hoặc VB.
Ví dụ thì mình viết VB. Và trong hầu hết các project thì mình kết hợp cả 2 loại VB và C để có tính đa dạng, biến hóa trong ứng dụng mà. Câu lệnh tương ứng trong VB thì mình chưa tìm hiểu. Bạn vẫn có thể shut down PC với câu lệnh C này mà nếu bạn cho Action này xảy ra khi điều kiện ấn Yes xảy ra. Khi ấn Yes thì bạn cho 1 tag = 6. Khi ta =6 thì trigger cho Action shut down PC.
( Cũng tại VB gà quá nên chưa sửa được
) .
SHUT DOWN AND RESTART IN VB6
Const EWX_LogOff As Long = 0
Const EWX_SHUTDOWN As Long = 1
Const EWX_REBOOT As Long = 2
Const EWX_FORCE As Long = 4
Private Declare Function ExitWindows _
Lib "User32" Alias "ExitWindowsEx" _
(ByVal dwOptions As Long, ByVal dwReserved As Long) As Long
Private Sub Command1_Click()
'Shut down windows
ExitWindows EWX_SHUTDOWN, &HFFFFFFFF
End Sub
Private Sub Command2_Click()
ExitWindows EWX_REBOOT, &HFFFFFFFF
End Sub
Chắc đành phải làm theo cách của pác thôi !|
Comment
-
Vì WinCC được viết = C nên mình nghĩ nếu tận dụng được C thì nên tận dụng. Bởi vì Wincc viết khá nhiều hàm/ thủ tục hỗ trợ sẵn rồi, chỉ lấy ra dùng thôi. Nhưng biết cả VB thì càng tốt mà. Mấy câu lệnh trên mình mình chưa thử, nhưng chắc phải tìm hiểu xem nó làm việc thế nào -> bổ sung kiến thức mà.Nguyên văn bởi Manhho86 Xem bài viếtEm có lên mạng Search được đoạn code Shutdown máy tính bằng VB6 , nhưng khi COPY vào thì báo lỗi cú pháp tùm lum
( Cũng tại VB gà quá nên chưa sửa được
) .
SHUT DOWN AND RESTART IN VB6
Const EWX_LogOff As Long = 0
Const EWX_SHUTDOWN As Long = 1
Const EWX_REBOOT As Long = 2
Const EWX_FORCE As Long = 4
Private Declare Function ExitWindows _
Lib "User32" Alias "ExitWindowsEx" _
(ByVal dwOptions As Long, ByVal dwReserved As Long) As Long
Private Sub Command1_Click()
'Shut down windows
ExitWindows EWX_SHUTDOWN, &HFFFFFFFF
End Sub
Private Sub Command2_Click()
ExitWindows EWX_REBOOT, &HFFFFFFFF
End Sub
Chắc đành phải làm theo cách của pác thôi !
Comment
-
Quả này chắc em phải đầu tư học lại C thôi ! Dạo trước năm thứ 3 có học Lập trình C & C++ nhưng "chảy " quá nên giờ mới khó khăn thế này.Nguyên văn bởi hac_am2003 Xem bài viếtVì WinCC được viết = C nên mình nghĩ nếu tận dụng được C thì nên tận dụng. Bởi vì Wincc viết khá nhiều hàm/ thủ tục hỗ trợ sẵn rồi, chỉ lấy ra dùng thôi. Nhưng biết cả VB thì càng tốt mà. Mấy câu lệnh trên mình mình chưa thử, nhưng chắc phải tìm hiểu xem nó làm việc thế nào -> bổ sung kiến thức mà.
|
Comment
-
Hi pác !
Trong Proj của pác em edit cho button EXIT : Khi nhấn vào thì có hộp thoại tương tác , nhấn YES thì thoát Runtime đồng thời Shutdown PC bằng việc kết hợp VB và C
Ở đây em khai báo thêm tag : "Trunggian " kiểu Binary Tag
Đoạn Code VB :
Function Text_Trigger(Byval Item)
If ( HMIRuntime.Tags ("so").Read = 6 ) Then
HMIRuntime.Tags ("Trunggian").Write = 1
End If
End Function
Đoạn Code viết bằng C :
#define Tag"Trunggian"
if (Tag== 1)
{ DMExitWinCCEx (DM_SDMODE_POWEROFF);}
Pác Check hộ em xem sai ở chỗ nào thế ? mà em Runtime không OK !|
Comment
-
if (Tag== 1)Nguyên văn bởi Manhho86 Xem bài viếtHi pác !
Trong Proj của pác em edit cho button EXIT : Khi nhấn vào thì có hộp thoại tương tác , nhấn YES thì thoát Runtime đồng thời Shutdown PC bằng việc kết hợp VB và C
Ở đây em khai báo thêm tag : "Trunggian " kiểu Binary Tag
Đoạn Code VB :
Function Text_Trigger(Byval Item)
If ( HMIRuntime.Tags ("so").Read = 6 ) Then
HMIRuntime.Tags ("Trunggian").Write = 1
End If
End Function
Đoạn Code viết bằng C :
#define Tag"Trunggian"
if (Tag== 1)
{ DMExitWinCCEx (DM_SDMODE_POWEROFF);}
Pác Check hộ em xem sai ở chỗ nào thế ? mà em Runtime không OK !
{ DMExitWinCCEx (DM_SDMODE_POWEROFF);}
bạn chú ý là đoạn code này bạn viết ở đâu và khi nào thì nó được thực hiện. Chú ý là khi tag trunggian = 1 thì bạn làm cho 1 sự kiện nào đó xảy ra rùi nhé đoạn code if (Tag== 1)
{ DMExitWinCCEx (DM_SDMODE_POWEROFF);} vào cho sự kiện đó thì okmen
Comment
-
Hi ! Pác hac_am03
Hiện tại em làm chỉ có một Master S7 300 điều khiển một số thiết bị chấp hành dưới sự giám sát & điều khiển của PC Station( WinCC) thông qua mạng Profibus DP
Nhưng khi em mở rộng hệ thống , có 2 con S7 300 đều làm Master nhưng vẫn dùng một PC Station ( WinCC) để điều khiển và giám sát.
Vậy pác cho em hỏi , lúc này 1 PC Station ( WinCC) có thể giám sát và điều khiển cả 2 con S7 300 không ? Nếu được thì phải cấu hình như thế nào trong HW và NetPro ?|
Comment
-
Tất nhiên là được rồi. Nó gọi là multiple master system.Nguyên văn bởi Manhho86 Xem bài viếtHi ! Pác hac_am03
Hiện tại em làm chỉ có một Master S7 300 điều khiển một số thiết bị chấp hành dưới sự giám sát & điều khiển của PC Station( WinCC) thông qua mạng Profibus DP
Nhưng khi em mở rộng hệ thống , có 2 con S7 300 đều làm Master nhưng vẫn dùng một PC Station ( WinCC) để điều khiển và giám sát.
Vậy pác cho em hỏi , lúc này 1 PC Station ( WinCC) có thể giám sát và điều khiển cả 2 con S7 300 không ? Nếu được thì phải cấu hình như thế nào trong HW và NetPro ?
1) Cấu hình cho PLC : trường hợp này của bạn phải dùng cấu hình con PLC mở rộng là I-Slave. Tức là PLC 1 không truy cập trực tiếp tới IO của con PLC 2 mà thông qua vùng địa chỉ của PLC2.Đọc help về I-Slave nhé. Mà nè, thực chất hệ thống lúc này có 2 master nhé, không phải mà 1 master -> đọc Help sẽ hiểu
2) Cấu hình PLC giao tiếp WinCC : có thể bạn đang dùng cáp MPI -> nếu máy của bạn có 2 cổng giao tiếp với cáp MPI (usb í mà) thì trong WinCC bạn tạo thêm 1 kênh PLC nữa, vẫn khai báo với thằng PLC thứ 2 và giám sát -> Cách này hơi tốn kém
Cách tốt nhất là giám sát cả 2 con nhưng thông qua vùng địa chi của 1 con
PC <-> PLC1 <-> PLC2 (I-Slave) : trong chương trình của 2 thằng PLC này thì luôn có 1 chương trình con chạy theo chu kỳ nhằm múc địch gán các giá trị muốn giám sát và điều khiển cho nhau qua các vùng địa chỉ.
Comment
-
Nghe pác nói hơi khó hiểu ! Để em tiếp tục tìm hiểu thêm đã , có j không rõ em sẽ hỏi pác sau. Mà trong Project của em dùng mạng Profibus DP pác àh !Nguyên văn bởi hac_am2003 Xem bài viếtTất nhiên là được rồi. Nó gọi là multiple master system.
1) Cấu hình cho PLC : trường hợp này của bạn phải dùng cấu hình con PLC mở rộng là I-Slave. Tức là PLC 1 không truy cập trực tiếp tới IO của con PLC 2 mà thông qua vùng địa chỉ của PLC2.Đọc help về I-Slave nhé. Mà nè, thực chất hệ thống lúc này có 2 master nhé, không phải mà 1 master -> đọc Help sẽ hiểu
2) Cấu hình PLC giao tiếp WinCC : có thể bạn đang dùng cáp MPI -> nếu máy của bạn có 2 cổng giao tiếp với cáp MPI (usb í mà) thì trong WinCC bạn tạo thêm 1 kênh PLC nữa, vẫn khai báo với thằng PLC thứ 2 và giám sát -> Cách này hơi tốn kém
Cách tốt nhất là giám sát cả 2 con nhưng thông qua vùng địa chi của 1 con
PC <-> PLC1 <-> PLC2 (I-Slave) : trong chương trình của 2 thằng PLC này thì luôn có 1 chương trình con chạy theo chu kỳ nhằm múc địch gán các giá trị muốn giám sát và điều khiển cho nhau qua các vùng địa chỉ.
|
Comment
Bài viết mới nhất
Collapse
-
bởi afrendlyCảm ơn bạn. Mình hỏi để thợ có thể tham khảo thôi chứ không đủ kiển thức để sửa, mà cũng không có đồ nghề, mua đồ nghề quá tiền máy. Gọi nhiều lần mà thợ hẹn mãi chưa có tới ấy bạn. Mình muốn sửa được chứ bỏ thì uống, nhưng sợ là được mỗi người thợ mà lại không sửa nổi....
-
Channel: Điện tử gia dụng
Hôm qua, 00:34 -
-
bởi mèomướpDạ nó bị tắc ẩm hoặc rò thiếu gas hoặc lốc yếu hoặc van tiết lưu có vấn đề hoặc tất cả những nguyên nhân trên ạ. Chú ko chuyên về mảng này thì bán đi, giành thời gian trồng rau sạch đem ra chợ bán lấy tiền mua tủ mới ạ. Còn...
-
Channel: Điện tử gia dụng
10-05-2026, 17:01 -
-
bởi afrendlyXin chào mọi người. Mình lại có vấn đề về đồ điện cần nhờ mọi người hỗ trợ giúp. Mình có tủ lạnh Sharp dùng cũng lâu rồi. Trước có bị kém lạnh, không đông đá thì có thợ họ mang về, sục đường ga gì đó hết 900k và đã dùng...
-
Channel: Điện tử gia dụng
10-05-2026, 16:53 -
-
bởi dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
09-05-2026, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -

Comment