Nguyên văn bởi thongtinvinh
Xem bài viết
Thông báo
Collapse
No announcement yet.
Giao tiếp S7-200 với PC
Collapse
X
-
có ai kết nối s7-200 với op73 của simen chưa. mình tìm tài liệu mà khó quá. với dùng WinCC flex lập trình cho op73 nữa. ai có tài liệu hoặc hướng dẫn gì gì thì gửi mail cho mình nhé: trinhunicore@gmail.com
Comment
-
Chào các bạn trên diễn đàn . Mình mới bắt đầu làm việc giữa VB và S7-200 thông qua PC Access . Mình làm theo ví dụ khi cài PC Access , đổ chương trình vào PLC và chạy thì ngon lành nhưng , khi mình mở rộng hơn bằng cách mình viết chương trình PLC khác ví dụ và giao tiếp với ví dụ vb6 thì mắc phải vấn đề :
VB6 không đọc được biến trong s7200 mặc dù khi ấn nút Connect thì thấy PC Access đã hoạt động . Việc giao tiếp giữa S7_200 với PC Access thì ngon lành . Mình rất mong được sự giúp đỡ của các bạn !!!
Comment
-
DO bạn khai báo các biến mở rộng trong giao diện VB chưa đúng. cái này xem 1 ví dụ ngay trong bộ cài của PC_access nhéNguyên văn bởi vuong81 Xem bài viếtChào các bạn trên diễn đàn . Mình mới bắt đầu làm việc giữa VB và S7-200 thông qua PC Access . Mình làm theo ví dụ khi cài PC Access , đổ chương trình vào PLC và chạy thì ngon lành nhưng , khi mình mở rộng hơn bằng cách mình viết chương trình PLC khác ví dụ và giao tiếp với ví dụ vb6 thì mắc phải vấn đề :
VB6 không đọc được biến trong s7200 mặc dù khi ấn nút Connect thì thấy PC Access đã hoạt động . Việc giao tiếp giữa S7_200 với PC Access thì ngon lành . Mình rất mong được sự giúp đỡ của các bạn !!!Cung cấp PLC và môdun mở rộng cũ giá tốt
Comment
-
Mình có vấn đề này muốn nhờ các bạn diễn đàn giúp đỡ . Mình làm tới bước AddItem thì tốt nhưng RemoveItem thì đang tắc không được . Cốt của mình :
Option Explicit
Option Base 1 ' All OPC Automation Arrays start with 1
' ----------------------
' | OPCServer |
' | -------------- |
' | | OPCGoups | |
' | | Collection | |
' -------------|--------
' |
' -------|--------------
' | OPCGoup |
' | -------------- |
' | | OPCItems | |
' | | Collection | |
' ----------|-----------
' |
' | -----------
' |--| OPCItem |
' | -----------
' | -----------
' |--| OPCItem |
' | -----------
Private MyOPCServer As OPCServer ' OPCServer Object
Private MyGroups As OPCGroups ' OPCGroups Collection Object
Private WithEvents MyGroup1 As OPCGroup ' OPCGroup Object
Private WithEvents MyGroup2 As OPCGroup
Private MyItems As OPCItems ' OPCItems Collection Object
Private MyItemServerHandles() As Long ' Server Handles for Items
Dim MyTID As Long ' Transaction ID for asynchronous calls
Private Sub cmdConnect_Click()
On Error GoTo ErrorHandler
Set MyOPCServer = New OPCServer ' Create OPCServer Object
Call MyOPCServer.Connect("S7200.OPCServer") ' Disconnect from OPC Server
' Set Button Enable
cmdConnect.Enabled = False
cmdDisconnect.Enabled = True
cmdAddGroup.Enabled = True
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Connecting to OPC Server", vbCritical, "ERROR"
End Sub
Private Sub cmdDisconnect_Click()
On Error GoTo ErrorHandler
MyOPCServer.Disconnect ' Disconnect from OPC Server
Set MyOPCServer = Nothing ' Delete OPCServer Object
' Set Button Enable
cmdDisconnect.Enabled = False
cmdAddGroup.Enabled = False
cmdConnect.Enabled = True
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Disconnecting from OPC Server", vbCritical, "ERROR"
End Sub
Private Sub cmdAddGroup_Click()
On Error GoTo ErrorHandler
Set MyGroups = MyOPCServer.OPCGroups ' Get OPCGroups Collection Object from MyOPCServer
' Set Default Properties for Group Collection
' These Properties are used to set the Properies for new Groups
MyGroups.DefaultGroupIsActive = 500 ' Set Default Group Update Rate to 500 ms
MyGroups.DefaultGroupIsActive = False ' Set Default Group Active State to Inactive
Set MyGroup1 = MyGroups.Add("Group1") ' Add a new Group to the Group Collection
Set MyGroup2 = MyGroups.Add("Group2")
' Set Group Properties
MyGroup1.IsSubscribed = True ' Enable Callbacks
MyGroup2.IsSubscribed = True
If CheckGroupActive.Value = 1 Then
MyGroup1.IsActive = True
Else
MyGroup1.IsActive = False
End If
If CheckGroupActive.Value = 1 Then
MyGroup2.IsActive = True
Else
MyGroup2.IsActive = False
End If
' Set Button Enable
cmdAddGroup.Enabled = False
cmdDisconnect.Enabled = False
cmdRemGroup.Enabled = True
cmdAddItem.Enabled = True
cmdAddItem1.Enabled = True
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Adding a Group to OPC Server", vbCritical, "ERROR"
End Sub
Private Sub cmdRemGroup_Click()
On Error GoTo ErrorHandler
MyGroups.RemoveAll ' Removes all Groups
Set MyGroup1 = Nothing ' Delete OPCGroup Object
Set MyGroup2 = Nothing
Set MyGroups = Nothing ' Delete OPCGroups Collection Object
' Set Button Enable
cmdRemGroup.Enabled = False
cmdAddItem.Enabled = False
cmdAddItem1.Enabled = False
cmdAddGroup.Enabled = True
cmdDisconnect.Enabled = True
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Removing Group from OPC Server", vbCritical, "ERROR"
End Sub
Private Sub CheckGroupActive_Click()
If Not MyGroup1 Is Nothing Then
If CheckGroupActive.Value = 1 Then
MyGroup1.IsActive = True
Else
MyGroup1.IsActive = False
End If
End If
If Not MyGroup2 Is Nothing Then
If CheckGroupActive.Value = 1 Then
MyGroup2.IsActive = True
Else
MyGroup2.IsActive = False
End If
End If
End Sub
Private Sub cmdAddItem_Click()
On Error GoTo ErrorHandler
Dim i As Long
Dim ErrorFlag As Boolean
Dim ItemObj As OPCItem
Dim ItemIDs(4) As String
Dim ItemClientHandles(4) As Long
Dim Errors() As Long ' Array for returned Item related errors
ErrorFlag = False
Set MyItems = MyGroup1.OPCItems ' Get OPCItems Collection Object from MyOPCServer
' Initialize the [IN] parameters for the Add Items call
' ItemIDs -> ItemIDs of the Items to add
' ItemClientHandles -> Client defined handles for the Items. The Server sends these handles in the Callbacks
ItemIDs(1) = "2,vw198,word" ' Read ItemId 1 from Text Box
ItemIDs(2) = "2,vw208,word" ' Read ItemId 2 from Text Box
ItemIDs(3) = "2,vw218,word"
ItemIDs(4) = "2,vw228,word"
ItemClientHandles(1) = 1
ItemClientHandles(2) = 2
ItemClientHandles(3) = 3
ItemClientHandles(4) = 4
' [OUT] parameters are
' ItemServerHandles -> Server defined handles for the Items. The client must use these handles for all Read/Write calls
' Errors -> Item related errors
' Add Items to the Group
Call MyItems.AddItems(4, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors)
' Check Item Errors
For i = 1 To 4
If Not Errors(i) = 0 Then
MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
ErrorFlag = True
End If
Next
' Continue only if all Items SUCCEEDED
If ErrorFlag Then
Dim RemoveErrors() As Long
Dim RemoveHandles(1) As Long
' Remove Succeede Items
For i = 1 To 4
If Errors(i) = 0 Then
RemoveHandles(1) = MyItemServerHandles(i)
Call MyItems.Remove(1, RemoveHandles, RemoveErrors)
End If
Next
Else
' Set Button Enable
cmdAddItem.Enabled = False
cmdRemGroup.Enabled = False
cmdRemItem.Enabled = True
cmdWriteSync.Enabled = True
cmdWriteAsync.Enabled = True
cmdReadSync.Enabled = True
cmdReadAsync.Enabled = True
End If
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Adding Items to the Group", vbCritical, "ERROR"
End Sub
Private Sub cmdAddItem1_Click()
On Error GoTo ErrorHandler
Dim i As Long
Dim ErrorFlag As Boolean
Dim ItemObj As OPCItem
Dim ItemIDs(6) As String
Dim ItemClientHandles(6) As Long
Dim Errors() As Long ' Array for returned Item related errors
ErrorFlag = False
Set MyItems = MyGroup2.OPCItems ' Get OPCItems Collection Object from MyOPCServer
' Initialize the [IN] parameters for the Add Items call
' ItemIDs -> ItemIDs of the Items to add
' ItemClientHandles -> Client defined handles for the Items. The Server sends these handles in the Callbacks
ItemIDs(1) = "2,vw116,word" ' Read ItemId 1 from Text Box
ItemIDs(2) = "2,vw123,word" ' Read ItemId 2 from Text Box
ItemIDs(3) = "2,vw130,word"
ItemIDs(4) = "2,vw143,word"
ItemIDs(5) = "2,vw150,word"
ItemIDs(6) = "2,vw136,word"
ItemClientHandles(1) = 1
ItemClientHandles(2) = 2
ItemClientHandles(3) = 3
ItemClientHandles(4) = 4
ItemClientHandles(5) = 5
ItemClientHandles(6) = 6
' [OUT] parameters are
' ItemServerHandles -> Server defined handles for the Items. The client must use these handles for all Read/Write calls
' Errors -> Item related errors
' Add Items to the Group
Call MyItems.AddItems(6, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors)
' Check Item Errors
For i = 1 To 6
If Not Errors(i) = 0 Then
MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
ErrorFlag = True
End If
Next
' Continue only if all Items SUCCEEDED
If ErrorFlag Then
Dim RemoveErrors() As Long
Dim RemoveHandles(1) As Long
' Remove Succeede Items
For i = 1 To 6
If Errors(i) = 0 Then
RemoveHandles(1) = MyItemServerHandles(i)
Call MyItems.Remove(1, RemoveHandles, RemoveErrors)
End If
Next
Else
' Set Button Enable
cmdAddItem1.Enabled = False
cmdRemGroup.Enabled = False
cmdRemItem.Enabled = True
cmdWriteSync.Enabled = True
cmdWriteAsync.Enabled = True
cmdReadSync.Enabled = True
cmdReadAsync.Enabled = True
End If
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Adding Items to the Group", vbCritical, "ERROR"
End Sub
Private Sub cmdRemItem_Click()
On Error GoTo ErrorHandler
Dim i As Long
Dim Errors() As Long ' Array for returned Item related errors
' Remove Items from the Group
Call MyItems.Remove(4, MyItemServerHandles, Errors)
' Check Item Errors
For i = 1 To 10
If Not Errors(i) = 0 Then MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
Next
Erase MyItemServerHandles ' Erase Item Server Handle Array
' Set Button Enable
cmdRemItem.Enabled = False
cmdWriteSync.Enabled = False
cmdWriteAsync.Enabled = False
cmdReadSync.Enabled = False
cmdReadAsync.Enabled = False
cmdAddItem.Enabled = True
cmdRemGroup.Enabled = True
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Removing Items from the Group", vbCritical, "ERROR"
End Sub
Private Sub cmdWriteSync_Click()
On Error GoTo ErrorHandler
Dim i As Long
Dim Values(2) As Variant
Dim Errors() As Long ' Array for returned Item related errors
' Initialize the [IN] parameters for the SyncWrite call
' Values -> Values to write
Values(1) = txtWriteVal1.Text ' Read Value 1 from Text Box
Values(2) = txtWriteVal2.Text ' Read Value 2 from Text Box
' ItemServerHandles -> Server defined handles from the AddItems call
' Write Values Syncronous
Call MyGroup2.SyncWrite(2, MyItemServerHandles, Values, Errors)
' Check Item Errors
For i = 1 To 2
If Not Errors(i) = 0 Then MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
Next
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Writing Items Syncronous", vbCritical, "ERROR"
End Sub
Private Sub cmdReadSync_Click()
On Error GoTo ErrorHandler
Dim i As Long
Dim Values() As Variant
Dim Errors() As Long ' Array for returned Item related errors
Dim Qualities As Variant ' Array for returned Qualities of the Values
Dim TimeStamps As Variant ' Array for returned Timestamps of the Values
' [IN] parameters for the SyncRead call
' ItemServerHandles -> Server defined handles from the AddItems call
' Read Values Syncronous
Call MyGroup2.SyncRead(OPCDevice, 6, MyItemServerHandles, Values, Errors, Qualities, TimeStamps)
' Check [OUT] Parameters
For i = 1 To 6
If Not Errors(i) = 0 Then
MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
Else
' Values -> Values from read
' Qualities -> Qualities of the returned values
If Qualities(i) = 192 Then
txtReadVal.Item(i - 1).Text = Values(i) ' Write Value to Text Box
txtReadVal.Item(i - 1).BackColor = &HFFFFFF
Else
txtReadVal.Item(i - 1).Text = GetQualityText(Qualities(i))
txtReadVal.Item(i - 1).BackColor = &H8080FF
End If
End If
Next
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Reading Items Syncronous", vbCritical, "ERROR"
End Sub
Private Sub cmdWriteAsync_Click()
On Error GoTo ErrorHandler
Dim i As Long
Dim Values(6) As Variant
Dim Errors() As Long ' Array for returned Item related errors
Dim CID As Long ' CancelID, servergenerierter Wert, mit dem die Transaktion identifiziert
' Initialize the [IN] parameters for the SyncWrite call
' Values -> Values to write
Values(1) = "2,vw116,word" ' Read Value 1 from Text Box
Values(2) = "2,vw123,word" ' Read Value 2 from Text Box
Values(3) = "2,vw130,word"
Values(4) = "2,vw143,word"
Values(5) = "2,vw150,word"
Values(6) = "2,vw136,word"
' ItemServerHandles -> Server defined handles from the AddItems call
MyTID = MyTID + 1 ' Increment Transaction ID
' Write Values Asyncronous
Call MyGroup2.AsyncWrite(6, MyItemServerHandles, Values, Errors, MyTID, CID)
' Check Item Errors
For i = 1 To 6
If Not Errors(i) = 0 Then MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
Next
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Writing Items Asyncronous", vbCritical, "ERROR"
End Sub
Private Sub cmdReadAsync_Click()
On Error GoTo ErrorHandler
Dim i As Long
Dim Errors() As Long ' Array for returned Item related errors
Dim CID As Long ' CancelID, servergenerierter Wert, mit dem die Transaktion identifiziert
' [IN] parameters for the AsyncRead call
' ItemServerHandles -> Server defined handles from the AddItems call
MyTID = MyTID + 1 ' Increment Transaction ID
' Read Values Syncronous
Call MyGroup.AsyncRead(2, MyItemServerHandles, Errors, MyTID, CID)
' Check Item Errors
For i = 1 To 2
If Not Errors(i) = 0 Then MsgBox "Item " + Str$(i) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
Next
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Reading Items Asyncronous", vbCritical, "ERROR"
End Sub
' Callback from AsyncRead
Private Sub MyGroup_AsyncReadComplete(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date, Errors() As Long)
On Error GoTo ErrorHandler
Dim i As Long
TxtAReadComplete.Text = TxtAReadComplete.Text + 1
' Check Parameters
For i = 1 To NumItems
If Not Errors(i) = 0 Then
MsgBox "AsyncReadComplete Item Clienthandle = " + Str$(ClientHandles(i)) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
ElseIf ClientHandles(i) > 0 And ClientHandles(i) < 3 Then
' Values -> Values from read complete
' Qualities -> Qualities of the values
If Qualities(i) = 192 Then
txtReadVal.Item(ClientHandles(i) - 1).Text = ItemValues(i) ' Write Value to Text Box
txtReadVal.Item(ClientHandles(i) - 1).BackColor = &HFFFFFF
Else
txtReadVal.Item(ClientHandles(i) - 1).Text = GetQualityText(Qualities(i))
txtReadVal.Item(ClientHandles(i) - 1).BackColor = &H8080FF
End If
Else
MsgBox "AsyncWriteComplete Item " + Str$(i) + " has invalid Client Handle ", vbCritical
End If
Next
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Async Read Complete", vbCritical, "ERROR"
End Sub
' Callback from AsyncWrite
Private Sub MyGroup_AsyncWriteComplete(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, Errors() As Long)
On Error GoTo ErrorHandler
Dim i As Long
TxtAWriteComplete.Text = TxtAWriteComplete.Text + 1
' Check Item Errors
For i = 1 To NumItems
If Not Errors(i) = 0 Then MsgBox "AsyncWriteComplete Item Clienthandle = " + Str$(ClientHandles(i)) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
Next
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "Async Write Complete", vbCritical, "ERROR"
End Sub
' Callback from OnDataChange
Private Sub MyGroup1_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)
On Error GoTo ErrorHandler
Dim i As Long
TxtDataChange.Text = TxtDataChange.Text + 1
' Check Parameters
For i = 1 To NumItems
If ClientHandles(i) > 0 And ClientHandles(i) < 5 Then
' Values -> Values from read complete
' Qualities -> Qualities of the values
If Qualities(i) = 192 Then
txtChangeVal.Item(ClientHandles(i) - 1).Text = ItemValues(i) ' Write Value to Text Box
txtChangeVal.Item(ClientHandles(i) - 1).BackColor = &HFFFFFF
Else
txtChangeVal.Item(ClientHandles(i) - 1).Text = GetQualityText(Qualities(i))
txtChangeVal.Item(ClientHandles(i) - 1).BackColor = &H8080FF
End If
Else
MsgBox "DataChange Item " + Str$(i) + " has invalid Client Handle ", vbCritical
End If
Next
ProgressBar1.Value = txtChangeVal(0)
ProgressBar2.Value = txtChangeVal(1)
ProgressBar3.Value = txtChangeVal(2)
ProgressBar4.Value = txtChangeVal(3)
Exit Sub
ErrorHandler:
MsgBox Err.Description + Chr(13) + "OnDataChange", vbCritical, "ERROR"
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
' Load Form Event
Private Sub Form_Load()
MyTID = 1 ' Reset Transaction ID
End Sub
' Unload Form Event
Private Sub Form_Unload(Cancel As Integer)
If cmdRemItem.Enabled = True Then Call cmdRemItem_Click
If cmdRemGroup.Enabled = True Then Call cmdRemGroup_Click
If cmdDisconnect.Enabled = True Then Call cmdDisconnect_Click
End Sub
Private Function GetQualityText(Quality) As String
Select Case Quality
Case 0: GetQualityText = "BAD"
Case 64: GetQualityText = "UNCERTAIN"
Case 192: GetQualityText = "GOOD"
Case 8: GetQualityText = "NOT_CONNECTED"
Case 13: GetQualityText = "DEVICE_FAILURE"
Case 16: GetQualityText = "SENSOR_FAILURE"
Case 20: GetQualityText = "LAST_KNOWN"
Case 24: GetQualityText = "COMM_FAILURE"
Case 28: GetQualityText = "OUT_OF_SERVICE"
Case 132: GetQualityText = "LAST_USABLE"
Case 144: GetQualityText = "SENSOR_CAL"
Case 148: GetQualityText = "EGU_EXCEEDED"
Case 152: GetQualityText = "SUB_NORMAL"
Case 216: GetQualityText = "LOCAL_OVERRIDE"
Case Else: GetQualityText = "UNKNOWN QUALITY"
End Select
End Function
Comment
-
mọi người có bị dính visual source safe login như em khi mở file VB_PLC khôngNguyên văn bởi nhphong Xem bài viếtBạn xem file đính kèm code của VB6 và PLC S7-200, test rồi, chế độ freeport....
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Máy đo khuôn mẫubởi vi van phamQuá dễ, Mua cái máy xq quét tòan thân, lấy bàn và khung di chuyển. Tháo đầu xquang ra bán ve chai, mua cái máy siêu âm gắn vào vị trí đầu đèn. Setup máy là chạy chính xác, còn file Setup thì chưa nghĩ ra....
-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 08:49 -
-
Trả lời cho Máy Phun sương tạo ầm Trung Quốc.bởi nguyendinhvanMạch tạo sương là tự dao động.
Mach 555 là đóng mở chu kỳ tần số thấp.
IC 555 giá rẻ, chỉ chạy lên tần số vài trăm ki lô hẹc thôi. Thăng cao hơn là méo dạng rồi tịt.
Mach sương thì dao động tần số tầm 2 mê ga hẹc cơ !...-
Channel: Tâm tình dân kỹ thuật
07-06-2026, 00:09 -
-
bởi nguyendinhvan
Cái máy đo này mắc tiền quá !
Anh em dtvn có giải pháp nào tự chế được không ?...-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 00:00 -
-
bởi nguyendinhvanOi giời.
Thơi buổi PLC rồi, cậu còn hỏi mấy thứ cổ lỗ sĩ này nữa.-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 22:59 -
-
bởi nguyendinhvanChuyện này cũ rồi.
Họ trả lương cho CN, sau đó lại bán hàng thu tiền về. Họ còn cấp các dịch vụ như chỗ ăn ở, quán cafe , giải trí, phương tiện giao thông. Mục đích là thu tối đa số tiền đã chi trả.
Hàng hóa sx ra, chuyển...-
Channel: Tìm mua
06-06-2026, 22:56 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phambao nhiêu năm quên bẳng đi, là mình còn có 1 chút xíu nghệ thuật bài bản, đã dạy cho con cháu chơi đàn, dù bố mẹ và chúng không xem là quan trọng. Hôm qua ngày bế mạc lớp lá, bỗng dưng thằng cháu ngoại thấy con bé được sơ giới thiệu...
-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 21:58 -
-
bởi ittcChào các anh em, tình hình là mình lo làm ăn không để ý sức khỏe, giờ có chút vấn đề rồi? không biết trên này có anh em nào độ tuổi U35 -> 40 đang có dùng các loại thuốc, thuốc bổ hay thực phẩm chức năng giúp bổ thận tráng dương,...
-
Channel: Tâm tình dân kỹ thuật
05-06-2026, 12:28 -
-
bởi theidiotcatTrong thế giới phần cứng năm 2026, AMD Ryzen 5 7500X3D không chỉ là một cái tên mới, nó là một tuyên ngôn về hiệu suất. Dựa trên các thử nghiệm khắt khe trong môi trường chơi game chuyên nghiệp, con chip này đã chứng minh rằng: bạn không cần...
-
Channel: Đánh giá sản phẩm DTVN
05-06-2026, 10:05 -
-
bởi VinhPham92Chào các bác,
Em vừa dự một cái Odoo Business Show 2026 tuần rồi, ngồi nghe mấy session về tự động hóa sản xuất mà em thấy có vài điểm thấy đáng chia sẻ với mấy anh em làm kỹ thuật ở đây.
Câu hỏi của các doanh nghiệp.
Hôm đấy đi thì các doanh...-
Channel: Lập trình PLC và ứng dụng
05-06-2026, 09:18 -
-
bởi quang4789Mình có cái tay chuyển số chơi game của PXN, hiệu là PXN shifter A7, nó bị lỗi 1 con biến trở chỗ gạt lên xuống dùng để xác định là đang đẩy lên, ở giữa, hay gạt về. Con biến trở này giá trị là 10kOhm, sau khi bị hư thì mình đo chỉ...
-
Channel: Hướng dẫn tìm thông tin linh kiện
03-06-2026, 12:04 -

Comment