Amtrak says there were 33 passengers on the train and there are no reports of serious injuries.
A witness told ABC11 that the 18-wheeler got stuck between the crossing arms.
The impact knocked the trailer off the truck, crushing it, and carrying it down the tracks.
Pictures from Chopper 11 HD showed debris stuck to the nose of the Amtrak train which carried on about a quarter mile down the tracks before it was able to stop.
Firefighters on the scene told ABC11 that the truck driver told them he had the green light and was crossing the tracks when he heard the railroad crossing arm hit the back of the truck. He said he wasn't able to clear the tracks because traffic had him blocked in.
The truck had made a delivery to Adams Products Company, which is located right near the crossing where the accident happened.
The westbound #75 Piedmont Amtrak train was on its way from Raleigh to Durham.
Norfolk Southern sent a bus to transport the train passengers from Morrisville to their destination in Charlotte - making stops at each of the points in between originally planned for the train.
According to Amtrak, the train moved on from the area around 3 p.m. without passengers. The engine was damaged and has been taken to the yard in Raleigh for assessment and repairs.
The intersection of McCrimmon Parkway and NC 54 remained partially closed. Morrisville officials said it will be closed for approximately 12 more hours in order for Norfolk Southern to erect a new signal and replace the stop bars.
Motorists can still travel along NC54, but cannot access McCrimmon Drive from NC54.