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 FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
18-06-2026, 14:03 -
-
Trả lời cho Cấu hình chiến game "quốc dân" cho nền tảng AM5: Lựa chọn tối ưu ngân sách với Ryzen 5 7500Fbởi kumarbrMình đồng ý với hướng build AM5 bằng 7500F, nhưng nếu có thể cố thêm ngân sách thì nên lên RX 7600 ngay từ đầu. 4GB VRAM của RX 6500 XT bắt đầu khá chật với nhiều game mới, còn RX 7600 sẽ dùng thoải mái hơn trong vài năm tới.
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 15:49 -
-
bởi theidiotcatTrong thời buổi vật giá leo thang, việc sắm một bộ máy tính chơi game đáp ứng đủ tiêu chí "ngon, bổ, rẻ" là ưu tiên hàng đầu của nhiều bạn trẻ. Lúc này, combo sử dụng vi xử lý AMD Ryzen 5 7500F kết hợp cùng card màn hình Radeon...
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 10:16 -
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:09 -
-
bởi theidiotcatKhi ráp một bộ máy tính cấu hình cao, việc cân đối ngân sách cho từng linh kiện là rất quan trọng. Sự kết hợp giữa vi xử lý AMD Ryzen thế hệ mới có công nghệ 3D V-Cache và card đồ họa Radeon RX 9070 XT đang là lựa chọn rất đáng tiền....
-
Channel: Đánh giá sản phẩm DTVN
11-06-2026, 10:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Giới thiệu bản nhạc đệm mới nhộn nhịp tươi vui, nghe là muốn... xuất gia đi tu liền!!!!😁...
-
Channel: Tâm tình dân kỹ thuật
11-06-2026, 09:51 -

Comment